Ask The Sherpas Q&A: Online Resources for Learning To Code

For personal reasons I’m a week late to promoting my own article, but my second answer in the Ask The Sherpas series is up:

Do you know any good or recommended sites to help designers catch up on today’s coding?

Q: Do you know any good or recommended sites to help designers catch up on today’s coding? There are a lot of sites I come across but many are short on either definition or providing the tutorial’s functional purpose. — Nathan Carrig

Read my answer on Facebook covering a variety of self guided and collaborative learning resources.

If you have a question about a web design, web development, content, UX, or accessibility topic that you’d like to be answered by an expert in the field please go to the Web Standards Sherpa contact form and ask away.

Feed ShirleyAnd if you’d like a more in depth site review focusing on one of these topics, Feed Shirley!

2012 In Review

2012 came and went without a post on this site. While not uneventful, other services like Twitter or Facebook seemed to be my go to venues for keeping in touch with people. Somewhere in the early Fall I started feeling pretty rotten for neglecting this blog, and even spent a little time restyling the WordPress theme it uses (adding a bit of RWD and other cleanup), I never did get around to posting anything. I can’t say this will change in the new year, but I thought a quick update on what I’ve been doing and why I’ve been busy was in order.

2012 in Freelance Web Development

Much of 2012 was spent working with my good friends over at HyperHyper, a small shop out of Brooklyn, NY. There I helped get the fashion image archive VFiles off the ground.

Shop Freshly

As usual, the year was also filled with smaller projects, such as helping friend Michael Farley with the launch of Shop Freshly — which helps you find which farmers markets are open near you (now in NYC and San Francisco).

2012 in Technical Editing

While I didn’t author anything new this year, I did work as technical editor on three great projects that were released or continued into this past year:

HTML5 & CSS3 Visual QuickStart Guide

HTML5 & CSS3 Visual QuickStart Guide by Bruce Hyslop

The perennial classic, HTML5 & CSS3 Visual QuickStart Guide, saw it’s 7th edition released, this time helmed by author and friend Bruce Hyslop updating the great work of Elizabeth Castro.

My other love, digital photography, continued to lead me to interesting new grounds where I helped Adobe’s Geoff Scott and Jeffrey Tranberry with their new release on automating Photoshop Power, Speed & Automation with Adobe Photoshop which was released mid-year by focal press. This book was based on the corse Jeffrey and I had both been teaching on automating and scripting Photoshop at SVA’s Masters in Digital Photography Program.

Power, Speed & Automation with Adobe Photoshop

Power, Speed & Automation with Adobe Photoshop by Geoff Scott and Jeffrey Tranberry

At the same time, I also gathered up some sample JavaScript code from that course and quietly released the shoppe library for doing some basic Photoshop API manipulation over on github.

Web Standards Sherpa, a project bringing the brightest minds on the web to help review web sites and answer your questions about standards based design and best practices, also saw some more activity in twenty-twelve. In addition to the long form articles, a new Q&A venture Ask The Sherpas was launched in the fall. Look to 2013 for a more great stuff from this great team.

Feed Shirley

Submit a site for review by the Sherpas

2012 in Photography and Events

The end of 2012 saw some renewed interest in Flickr, but I’ve never stopped updating my projects there. In particular, there were a bunch more web tech events I covered, some officially and some as an attendee.

Carl Smith Keynote #FOWD

Carl Smith Keynote #FOWD w/ the Dalai Lama

Again this year, I was the official photographer for The Future of Web Design’s New York event and had a blast shooting and meeting a pile of great speakers and attendees.

What’s Next

While I’m not promising regular activity on the blog here, 2013 will see a bit more public activity from me on a few projects I’ve got in the works — look for a bit more stuff going up on github as well as some new photography projects.

Follow @placenamehere on Twitter to keep up to date on what’s going on with me in the new year or keep watching my photo stream on my Flickr account.

Fallstagram, and a Status Update

Playing hide & seek with the sunlight

The trail ahead...

The above photos were taken yesterday in South Mountain Reservation & made 80% more autumnal with Instagram filters.

You wouldn’t know it from this blog, but I’ve been busy

I hadn’t realized it’s been more than a month since I’ve posted anything here, but there’s a few good reasonsgood reason for that. Besides some interesting work projects, and not having reliable internet connectivity for a bit, I’ve also been embracing “conference season” and been out and about whether at conferences or just one off events or meet ups, possibly meeting you! In no particular order there was Brooklyn Beta, an evening at Etsy, Creative Mornings, a few others I didn’t take photos of, and then just soaking up NYC via NY Comic Con or its Parks & Rec.

The good news (for me, and for any blog readers I might have left) is that the stretch is almost over & hearing about such great ideas from a wide variety of people has put some ideas in my head, many of which will be appearing here in some form or another in the not too distant future.

Textpattern To WordPress Migration And Importer Updates

After many years on the Textpattern blogging platform, I’ve migrated Place Name Here over to WordPress. Though it only took a day or two to migrate blog posts and comments dating back to 2004 and create a theme to match, it was a move that needed some massaging.

Why Change?

I had been contemplating the change for some time now. I’ve used both systems, as well as others like Movable Type, for personal and client projects and have a good feel for each system’s strengths. I was seeing that where WP was headed is more aligned with where I think I want to take this site. It isn’t that there was anything wrong with Textpattern—in fact in many ways I still prefer it’s simplicity, template system and other core features. But that project seemed to have plateaud and contributions, updates and roadmaps are sometimes unclear. WordPress has continued to move forward and make easier some of the features I’ve been wanting to add (pingbacks, gravatars, other blogging and infrastructure fluff). But since these weren’t pressing needs, I just kept bumping the move until recently when I had the time to look at it again.

Data Importer Hiccups & Changes

Having a relatively simple markup structure to begin with for the old site’s templates made the theme transition relatively easy. By creating a child theme of Twenty Ten and editing just 9 of the files (along with a bit of experience) got me to what you see now. Given this is only a migration of a 2+ year old markup and CSS that’s been tweaked a few times too many there is certainly cleanup that needs to be done when I get a chance, but a redesign is another challenge for another day.

What I did have to wrestle with was the data migration. The current Textpattern importer plugin seemed a bit out of date and for my needs it needed a bit of customization. The requirements I laid out for a successful migration from Textpattern 4.2.0 to WordPress 3.0.1:

  1. Post author needed to remain my user account in both systems.
  2. Old permalinks needed to work, so /article/[ID]/[textstub] needed to be configured and IDs in the old system needed to be preserved.
  3. Tags needed to be migrated from the old system to the new.
  4. Post Body and Excerpt HTML fields needed to be imported so I didn’t have to configure Textile parsing for all old articles.

Items 1 and 2 required a little massaging before import.

  1. Create the WordPress admin user with the same username as the author in Textpattern.
  2. Delete all test posts, comments and pages from the MySQL database to free up any IDs.

Customization of the textpattern-importer plugin was required to make the rest happen. It wasn’t really a heavy job, but three changes needed to be made.

Swap the use of the Body and Excerpt containing Textile code with the “compiled” Body_html and Excerpt_html fields.

// Get Posts
return $txpdb->get_results('SELECT
	ID,
	Posted,
	AuthorID,
	LastMod,
	Title,
	Body_html,
	Excerpt_html,
	Category1,
	Category2,
	Status,
	Keywords,
	url_title,
	comments_count
	FROM '.$prefix.'textpattern
	', ARRAY_A);

Include the Keywords field (was this just overlooked? I don’t understand why it wasn’t there already). Also, insert the existing ID for each inserted post (as import_id).

$ret_id = wp_insert_post(array(
	'import_id'			=> $OldID,
	'post_date'			=> $Posted,
	'post_date_gmt'		=> $post_date_gmt,
	'post_author'		=> $authorid,
	'post_modified'		=> $LastMod,
	'post_modified_gmt' => $post_modified_gmt,
	'post_title'		=> $Title,
	'post_content'		=> $Body,
	'post_excerpt'		=> $Excerpt,
	'post_status'		=> $post_status,
	'post_name'			=> $url_title,
	'tags_input'		=> $Keywords,
	'comment_count'		=> $comments_count)
	);

What To Do With The Code Now?

I feel the need to share, but is it worth submitting back to the project?

I’ve uploaded both my customized importer plugin and a diff incase anyone else should want to attempt to use it. Please read my requirements above before you do, but it will probably be a smoother transition than the current plugin. I’d love to discuss contributing the changes back into the project with someone, but wouldn’t lobby for it without some discussion of which of my requirements are universal enough to make it (keywords, yes, HTML posts, dunno). Please use the comments section to let me know your thoughts on contributing this code back to WordPress—or report back if you’ve used the code.

Download pnh-textpattern-importer.zip which contains:

  • textpattern-importer.php: (replace contents of /wp-content/plugins/textpattern-importer/textpattern-importer.php with this file after installing existing plugin)
  • textpattern-importer.php.diff