Member Banning ExpressionEngine snippet

When spammers do sneak comments through my blog, I have a very simple one click* snippet to ban them similar to the way the EE forum’s “ban member” option works. Essentially, beside every comment, I have a “delete & ban” link. This saves me needing to fire up my control panel, and navigate to the proper place. It just saves a bit of clicking around.

I never thought much of it, but yesterday it co-incidentally came up when I showed another EE dev my site’s control panel for something totally unrelated. Since I implement the “one click delete” in a snippet, I thought I’d share it here:

{if can_moderate_comment}
<a href="{cp_url}?S=0&D=cp&C=addons_modules&M=show_module_cp&module=comment&method=index&entry_id={entry_id}">delete &ampban</a]

And then in my template


<p>{url_as_author} wrote{ban_member_snippet}</p>



I’ve used this sucker for so long I forgot all about it. If you have any “go to” snippets, code or tricks, please post them in the comments here!

* Technically its probably 2 or 3 clicks :)

Safari, cookies, and lost time - the remix

During a recent ExpressionEngine site build, I found myself stuck for a few days trying to get cookies to work in Safari. Since actually logging in wasn’t particularly important to the site, I poked away at it a little bit here… a little bit there… but never actually solved it over the course of 3 days. A quick Google for the problem (EE forum search is darn near useless these days) brought me to Safari, cookies, and lost time from Fred of the fine folks at ngen works. So I fired out

echo date('c');
// I'll get you kids and your darn dog too!!! 

And lo and behold, the server clock was off! A quick support email later, things are humming along tickity-boo, so I’m writing this partially as a “note to self”, and partially to add my voice to the stream of knowledge that is the web.

Simple vs Complex conditionals in ExpressionEngine templates

I’ve had a chance to be involved in some some pretty fun and exciting ExpressionEngine projects lately. Often, this means looking through sites that other developers had originally built out. Its always fun seeing how other smart people choose to solve a problem - often in a different way then I’d do it. Reading other people’s code is always a great way to learn.

That said, a recurring theme I see are poorly optimized EE templates. Usually, there are minor changes I can have a dramatic impact. The most common minor fix is simply understanding the difference between “simple” and “complex” conditionals. While digging around for a few good resources I could use to help explain it, I stumbled across a wonderful post on the EE forums by John D Wells that explains it masterfully, which I’m reposting here with his permission for my convenience. As an aside, John is a pretty prolific guy, and if you aren’t subscribed to his blog, now is a good time to check it out.

New Challenges

Its with a sad heart that I write that I’m no longer part of the wonderful team at EllisLab.

When I joined the company in 2007, there were interesting challenges ahead. I got to be the only developer working full time to bring ExpressionEngine2 to market, and along the way got to envision, design and build some of the most interesting aspects of it - the configurable publish screen and the file manager, among others.

After ExpressionEngine2 made it to market, I had the opportunity to really dig into a new challenge, a new product, with no legacy and no expectations. It was a joy to bring MojoMotor to market. I spent my days dreaming about how it would work, how people would interact with it, and even fussed over little details like naming and icons. It was a lot of fun. MojoMotor has only been available for a short time now, but it is by all measures a success.

EllisLab has a strong core of products now, and a large, engaged community; and also a new management and a new direction. The type of challenges that excite me, that drive me, aren’t available anymore, and so while it appears sudden to some, my time at EllisLab has reached a natural conclusion.

I’m off now seeking new opportunities and the next challenge. I remain passionate about what I do, and what I’m good at - building fun, engaging software.

MojoMotor, and my EECI2010 review


Well, finally back and enjoying the afterglow of another amazing experience; EECI 2010. Aside from the great things that happened to me personally (I’ll get to those in a moment), it was 3 days of pure and utter awesomeness for the whole ExpressionEngine/CodeIgniter world. I’ll never get to hang out with a more awesome gang then the folks I meet through this world.

Rick Ellis said something unexpected and uniquely insightful during his keynote that really resonated with me. I don’t have the video in front of me for the exact words, but an accurate paraphrase would be “The community is where its at. In many ways, and all the important ones, the software is irrelevant.” As someone who has worked tirelessly over the last 3 or 4 years to build the software he’s referring to, I completely agree with this. The magic-sauce of EE and CI comes from the community of dedicated, passionate people around it. Its easy to forget that when we’re busy fighting deadlines and trying to fix IE bugs.

Now seems about as appropriate a time as any to extend my sincerest thanks to Robert Eerhart, Janneke van Amsterdam, and the entire Whoooz team. These folks put on one of the most professional, well organized, kick-ass experiences I’ve ever enjoyed. Every little detail was tended to, nothing was second rate - I wish I had Robert and Janneke organizing my day to day life… things would be so much better!


The highlight of the trip for me was finally getting to talk about MojoMotor. Mojo is something that I’ve been working on since around Christmas last year, and its been nearly everything I’ve been up to professionally for 5 months. Anyone who’s watched my keynote at EECI2009 knows that I’m a “social coder”. I crave community; and I consider nerding-out with other people to be foundational to the way I work. Keeping Mojo under wraps for 5 months has been killing me! I want to share, I want to say “hey, check out this cool thing I’ve been doing”, but we decided very early on that we wanted Mojo to come as a total surprise. Now that its out there, I’m glad we did.

Response to the news of Mojo has been overwhelmingly positive. I’m really hopeful that people will end up loving it as much as they love CodeIgniter and ExpressionEngine. I few secret tidbits that not many people know about MojoMotor:

And of course, the journey is only just beginning for MojoMotor. The final round of beta testing with “real world” (ie: non-staff) testers is just getting underway, and after that we’re releasing. It’ll be in your hands quickly, I promise. The price has been set at $49.95. I’m looking forward to watching it mature and grow before our eyes.

EE 2 Week Straggler: The Return of Derek Allard! (Interview)

Last week my good friends over at EE_Insider focused on the imminent release of EE 2.0. If you haven’t read it yet, go read it now. They feature articles, interviews, and news, and always with a bit of humour (yes Kenny…. there’s a “u” in that word). They asked me for an interview, but after EECI2009 my wife and I took a few more days to tour around Holland… and l long story short… the interview only got finished right now :)

Go read EE 2 Week Straggler: The Return of Derek Allard! (Interview) for my thoughts on the future of CodeIgniter, the development of EE 2.0, and what it means to unite CodeIgniter and ExpressionEngine.

We had sent out a set of interview questions that we weren’t sure we would receive for ExpressionEngine 2 Week. Derek Allard, one of EllisLab’s developers, was on vacation. Since he’d been slaving away for years on EE 2, we gave him a free pass. But Derek is what the kids call a “trooper” and he came back to us this week with the answers! It turned out to be a really great interview, timely due to the discussion and popularity of CodeIgniter and EE, and we got permission from the ‘Lab to post it. So, EE denizens, it’s my pleasure to give you our interview with the great Derek Allard

Its sad to learn that spammers have a better vocabulary than me

Back when I first setup this blog, one of the first things I did was setup akismet to catch spam (Sidebar:huge props to Lodewijk “Low” Schutte for his article on setting up Akismet for ExpressionEngine). I just checked today for false positives, which I do every few days. Generally the spam is very easy to spot and I delete it sight unseen, but today I took the time to read the few spam comments that were caught. 8 of them were banal, but the 9th was hilarious.

Now I know that that they often try to decieve filters with Madlib style randomly made up sentences, but this one couldn’t have turned out any better.

Your blog was of armpit awesome again even though it was petrifying for me to flagulate what happened.You turned what could have been a very folderol thing into something side-splitting and positive. Do pick with care! Also you dwell portable radio news programme show.I betrothed you xoxox

And doubly funny is that “folderol” is actually a word.

fol⋅de⋅ral [fol-duh-ral]

1. mere nonsense; foolish talk or ideas.
2. a trifle; gimcrack; gew-gaw.

Its a sad day when I learn that spammers have a better vocabulary than you do. The good news is that “flagulate” is not a word, and I get to keep holding my head high!

EECI2009 all wrapped up, EE2 details announced

The last night of EECI2009 is coming to an end. What an amazing time I’ve had. I’ve been under a fair amount of stress prepping for it, getting my speech ready, and getting ExpressionEngine 2 ready for release on December 1(!!). But it was all worth it!

Les Camacho presenting at EECI2009

Our fearless President Leslie Camacho gave an amazing speech. As he said, the cone of silence has been lifted! Highlights? Pricing details, licensing details and a release date! Exciting times. Punchline? Non-commercial License, $149. Commercial License,$299. Upgrade, $50. Coming (as stated) December 1.

Derek Allard presenting at EECI2009

I also had the opportunity to speak. “Standing on the Shoulders of Giants : How Community Shapes Development in EllisLab” went very well. It was recorded, and I’ll share the video here when its made available. In the meantime, here are my slides. I’ll be out of commission for about a week, but when I find more time I’ll post another blog entry summarizing and complementing the presentation for anyone who couldn’t be there.

Edit: the video is now available. EECI2009 Videos and Slides page, or directly on Vimeo.

A group of spectacular speakers at EECI 2009

I met an amazing group of folks, and this time I had a chance to hang out with some real superstars of the community. Everyone is just as awesome as you might think.

Whooz! WebMedia hosting EECI2009

The city that hosted us, Leiden, is of course stunning; and our hosts from Whooz! WebMedia (particularly the eminent Robert Eerhart) made us feel welcome and wanted.

Beautiful Leiden, Netherlands

And now, I’m off to enjoy a (frankly, well deserved) few days of R & R with my beautiful wife storming around Europe!

Second Annual ExpressionEngine Roadshow

Last year I had the chance to speak at the very first ever Annual ExpressionEngine Roadshow. I had a blast, I met a bunch of really cool people, and it was a great experience both as an EE dev, and as an EE fan.

Now in the second year – and second city (Seattle) – the ExpressionEngine Roadshow is coming up again. Its a conference designed to bring ExpressionEngine users and developers together offline. The conference offers something for everyone, newcomers included, but also provides in-depth development tips for advanced developers.  So far, the day will include 6 excellent, varied sessions on ExpressionEngine with breakfast before the event, and a great party and networking event after.

If you have the chance to go, I strongly recommend you get down there. You’ll learn tips, techniques and development expertise from others who have been using ExpressionEngine for years, plus meet people in the EE community. From EllisLab this year, Rick Ellis, Leslie Camacho, and Lisa Wess will all be there; as well as Ryan Irelan (of EE Insider and Airbag Industries) coming, and they’re working on several other big names.

Friday, October 02, 2009
Seattle, WA

For full information hit up the ExpressionEngine Roadshow site.

I’m speaking at the first ExpressionEngine & CodeIgniter Conference

I’m very pleased to announce I’ll be joining Leslie Camacho, Simon Collison, Veerle Pieters and a host of other brilliant minds at the the first ExpressionEngine & CodeIgniter Conference in Leiden (Netherlands) at the end of October.

2009 ExpressionEngine & CodeIgniter Conference

What doubly excites me about the entire conference (well… aside from the whole European vacation thing) is that they are specifically focusing on both of my favourite tools, not only EE or only CI, but both. The topics are balanced, the conference is very well organized so far… this will be a pleasure.

If you don’t already have plans, why not take a few extra days and make a vacation of it; and join us for several days of nerding out.