Software

Working for years with Drupal's command-line tool drush, and more recently with Laravel's artisan, I've had occasion to interface with Xdebug in my favorite IDE, PhpStorm. Here's how I am currently working with all of these tools together.

Incidentally, if you've never tried a real debugger in your projects, you can check out my talk from WordCamp Orange County, "Let's Debug for Real", which was recorded from the audience, or a higher-fidelity version from a JavaScript perspective, my lynda.com course Debugging the Web: JavaScript.

Here's how this will work: you'll do some initial configuration in PhpStorm and your local web stack, set a breakpoint somewhere in your code, then run your command line script from within PhpStorm. If all goes well, execution will stop at the breakpoint and you'll be off to the debugging races.

Categories: 

Apache .conf files only really support single-line comments, starting with the pound sign (#). I came up with a silly hack for multi-line comments that seems to work, so I'm putting it out there either to help other people, or be brutally taken down by people who are more savvy than I am.

Basically, make up a non-existent runtime variable and use it in an <IfDefine> block. Because the variable doesn't exist, nothing between the tags should be executed. So for example:

Categories: 

I haven't upgraded to El Capitan, and may not for a while, but the latest version of Safari is 9.0, and is available for OS X Mavericks, aka 10.9. I upgraded to stay current with the security fixes, and have been pleasantly surprised to see a much improved Web Inspector.

The web inspector in Safari 9

Categories: 
Tags: 

Chrome and Firefox are probably the gold standard for friendly web developer tools, but I still use Safari all the time. It's the best option for debugging sites on iOS using the remote debugging features. You open your site in Safari running in the iOS simulator, and in the Develop menu, like this:

Categories: 

This was a very busy weekend. I spoke at WordCamp Orange County on how to use a debugger, and it went well. If you were there, or if you're just interested, you can view the slides here, and fork them on GitHub.

Tags: 

I often use gulp to manage web files. If you've never heard of it, it's a JavaScript-based task runner similar to Grunt. I use it for many of the same reasons I've used (and sometimes still use) GUI tools like LiveReload and CodeKit: to process my Sass into CSS, minify and check JavaScript files for errors, auto-refresh browsers when I make a change, that sort of thing.

Categories: 
Tags: 

WordCamp Las Vegas happened this past weekend, and while I wasn't in attendance, it caused me to find out on Twitter that a talk I gave at WordCamp Los Angeles this past fall is now available on WordPress.tv now. I called it "Be Braver, Make Better Mistakes", and it's a quick overview on why you should try using version control, even (especially!) if you're a designer.

Categories: 
Tags: 

Once or twice on most days, I'll get a notification of a comment coming through that is (to me) obviously spam, so I delete it. No big deal. When you see an email like this every day, it can lead you to think "how well is my spam blocker working?"

Well, in my case the answer is a resounding yes. I use Mollom, and I looked at its dashboard today to see just how much it's working.

Mollom has blocked 526,332 spam attempts in the last 410 days

As we say in the business, HOLY SMOKE!

I work independently on many web projects, but I also partner up with other companies in various capacities. One of my longest-running partnerships is with [Nonprofit Tech][npt], which is now based in Madison, but was my first job when I lived in the San Francisco area back in the early 2000s. We've worked on a lot of different projects with many clients over the years, but one that has been consistent is [Consumer Action][ca], a consumer-advocacy organization based in San Francisco. They offer a wealth of information on the laws and industry surrounding credit cards, home buying, privacy, insurance, and a lot of other stuff; and they offer all this in many languages. They're good, and I'm happy to be of service to them.

Their website runs [ExpressionEngine][ee], and in the last year they upgraded to the 2.x version. There was a lot of work involved migrating their pretty massive online empire from 1.x to 2.x, because along with having a lot of content, they deliver it over a network of targeted websites (they call them subsites), not just the main Consumer Action website. I wasn't involved in a lot of the migration work, but I did work a lot on their publications store, which we switched from a homegrown system to the [Store plugin from Exp:resso][store]. The point of the publications store is to allow registered members (you can become an online member for free) to order printed copies of the publications, and everything is free thanks to Consumer Action's donors and corporate sponsors. We needed the system to support a conventional shopping cart experience, but with all products being free, and being able to use the existing publications channels so there would be no re-entering a bunch of product data. The homegrown system worked, but it wasn't robust, and after researching many options, we ended going with Store, and it did the trick. We migrated the main Consumer Action site to Store fairly painlessly, and got a nice increase in stability.

The trouble came when we wanted to set it up on [MoneyWi$e][m], one of the subsites. Consumer Action uses the ["classic" multi-site setup][cmsm], which predates the current Multiple Site Manager module, to serve its subsites. I'm not as well-versed on the history of ExpressionEngine as I am with other systems, but it's my understanding that the MSM didn't support easy content sharing between sites for a while, and that fact, combined with the additional license fee, was enough to keep this website away. The site has become large enough that migrating to the MSM was looking daunting, so with all the other migration work that had to be done, something had to give, and it was an additional MSM migration. These days, it seems to be assumed that any set of websites served from a single instance of EE use the MSM, so making this classic setup work with third-party add-ons can be tricky.

It took us a little while to nail it down, but Exp:resso were very helpful throughout the process. Here are the issues we faced and how we solved them.

Categories: 

I want to mention a couple small pieces of Mac software I use often, but think are very good: Dash and Pester.

Pages

Subscribe to RSS - Software