Software Development, Web Design, Training


February 22, 2017
Stupid Mura Tricks - Creating Class Extensions via Code

Continuing with the “Stupid Mura Tricks” series, recently I had to create a SubType/Class Extension, give it an Extended Attribute, then create 30-ish groups of that SubType, all via code.  The idea is, we’re developing the site on Dev machines, then testing on a Review server, and deploying to Production later. Rather than making someone manually create all of those things in 3 different environments, we can just run a script as part of the deployment, and have it all automated.

February 20, 2017
Teaching jQuery in San Francisco

San Francisco nerds! Who wants to learn jQuery? I’m teaching an “Intro to jQuery” class Feb 25 and 26 at the Bay Area Video Coalition. There are 3 spots left in the class; I may be able to get you a discount on the cost (if you're not already a member at BAVC). Drop me a message for more info.

February 17, 2017
Stupid Mura Tricks - onSiteLogin

Every once in a while I stumble across new (new to me anyway) bits about Mura CMS that seem blog-worthy. I’m going to start posting them as “Stupid Mura Tricks”. Starting with this one...

February 15, 2017
Speaking at Into The Box 2017

It’s official - I’m speaking at Into The Box 2017!

I’ll be giving a new version of my talk “Dependency Injection: Why Is It Awesome And Why Should I Care?” Typically when I give this presentation, the code samples are all pseudo-code and I leave it up to the audience to figure out the specifics for their DI library of choice. For Into The Box we’re mixing things up a bit: this talk will be more WireBox-centric and will include examples of how to do various things in WireBox specifically.

February 14, 2017
SacInteractive - An Intro to Mura CMS

This Wednesday at SacInteractive I’ll be presenting “An Intro to Mura CMS”.  Mura CMS is a free open source content management system built right here in Sacramento! It's been around for 15 years, Mura version 7 was just released, and the MuraCon conference was earlier this month. We'll take a look at some of the things you can do with Mura 7 and how easy it is to start using as well as some code samples from real world sites built on the Mura platform.


February 13, 2017
MuraCon 2017 Recap

MuraCon 2017 wrapped up Friday night. (I took the weekend off from technical things and basically regrouped for a couple days, catching on on family/home tasks that had been neglected while I prepared for the conference. Hence my writing up the recap today.)

February 13, 2017
MuraCon Notes - SEO Best Practices, Tom Rusling, Reflexive Media

SEO mostly seen as a marketing exercise currently
In early 2000’s, that was heavily debated
used to be considered more of a technical exercise
tho it still -requires- both
but these days it’s all about marketing

February 8, 2017
My MuraCon 2017 Schedule

This Thursday and Friday I’ll be at MuraCon, right here in Sacramento (it’s always nice when I can attend a conference without all the travel hassles). Here’s where you’ll be able to find me:

January 10, 2017
SacInteractive - 10 Tips to Save Development Time

This month at SacInteractive, join us this month as Dave Jones shows us 10 ways you can Turbo Charge your software development process. The tips we will cover in this talk will make you a more efficient coder, reducing the time spent on the repetitive, mundane things you do every day while writing code. We'll look at things like: how to master your IDE, writing code with fewer key strokes, making the command line your friend, and how to maintain focus. This talk is applicable to any platform and language and most of the common IDEs and editors. You'll leave with tips you can start using right away no matter what type of software you are working on. Don't miss it!

December 29, 2016
Speaking at MuraCon 2017

It’s official: I’ll be presenting at MuraCon 2017, February 9th and 10th.  Blue River asked me to give the following talks: "Mura ORM + Feed API = Awesomeness" and "Infinite Scrolling With Mura 7".

December 2, 2016
Teaching Intro to JavaScript

Want to learn programming? Or JavaScript? I'm teaching a 2-day Intro to JavaScript class in San Francisco next weekend (Dec 10 and 11) and we have a couple seats still available.

December 1, 2016
Accessing Extended Attribute Images in Mura CMS

Because I always forget now to do this, I’m going to save it here for later reference.

Sometimes I have an Extended Attribute that is an image. Maybe it’s named “EventImage”, for example.  If it were just the regular Associated Image for a Page, I could do this:

<img src=“#pageBean.getImageURL()#” />

…and that would work. But Extended Attributes are a little different.

November 29, 2016
New Mura CMS Plugin - MuraGoogleNewsSitemaps

A few years ago Grant Shepert / Meld Solutions wrote the Meld-Google-Sitemaps plugin, for generating Google Sitemap XML files for Mura websites.  With Grant’s permission, I forked that project and wrote MuraGoogleNewsSitemaps for generating Google News Sitemap XML files (per Google, this is the XML file that stores only new “newsworthy” content added to the site within the last 48 hours).  You can find more info about the spec here and here.

November 29, 2016
Deleting Extended Attributes in MuraCMS

I’ve been working on some Mura plugins (more on that later), and a common thing that plugins do is create new Extended Attributes for a Page in a Mura site.  Mura being “non-destructive by design”, when you uninstall a plugin, the Extended Attributes don’t get deleted when the plugin goes away.  So if you’re (as I was) developing a plugin, and changing the names of Attributes, reinstalling, over and over, you can send up with “dangling” Extended Attributes on a Page that you’ll never use, are named wrong, could cause other problems, might be duplicates of other Attributes, etc.

November 25, 2016
Getting Started With The Mura 7 Feed API

I’ve been doing a lot of work with the new Mura 7 Feed API lately and have found it very useful.  It’s an easy way to get a custom query (or Mura Iterator) of different groups of content in the site.  I’ve been using the Feed API to build various Display Objects in Mura — e.g. a list of the 3 most recent articles published.  On a particularly larger site, I’ve had to build a few reports for the Content Manager, so they can filter out duplicate content, old entries, content that’s missing some data, etc.  

October 23, 2016
CFCamp Notes: Lucee Keynote, Gert Franz and Michael Offner-Streit

Lucee 5 took 4 years
too long

OSGI - jar file support is better
everything is an extension, very small core
if you don’t need PDF, or CF Admin or whatever, just don’t install that extension
keeps core small

October 18, 2016
My CF Camp Schedule

In a little while I’m getting on the train from Frankfurt to Munich for CF Camp. Looking forward to seeing everyone again, learning about a zillion new things. Here’s my attempt at a schedule for the week:

October 17, 2016
Speaking at CF Camp

Apparently I didn’t get enough excitement from CF Summit in Las Vegas.  I’m now in Germany getting ready to speak at CF Camp!

October 17, 2016
ColdFusion Summit Notes: Become a Security Rockstar with ColdFusion 2016, David Epler

Server update process -
always apply and test on development and test/staging env’s first
update as quickly and reasonably as possible

Notification of updates is the best place

October 17, 2016
ColdFusion Summit Notes: Testing Automation, Luis Majano

Most companies - do a little bit of tests, claim it’s automated, but in reality the test plan is pretty bad

why people don’t test
think they’re too busy
“you don’t have time to test, you need to deliver now”
sometimes it’s comfort - don’t feel comfortable applying testing methodologies
- it’s new
- new learned behavior