Steve Grunwell

Open-source contributor, speaker, and electronics tinkerer

Page 7 of 14

A wooden deck, sprinkled with flower petals and leaves

Exporting Reveal.js Slides to PDF using Decktape

After giving two talks last weekend and WordCamp NEO, one of the conference organizer emailed me and asked if I could provide PDF versions of my slide decks to send to WordPress.tv.

If you’ve seen one of my talks before, you may know that I’m a huge fan of Reveal.js, a JavaScript presentation framework that allows me to author my slides using Markdown, present in a browser, and share everything via GitHub Pages. Then, as I give talks at multiple conferences, people can see what’s changed, report any inaccuracies, and see my presentation history. Pretty snazzy!

Continue reading→

Cranes constructing a new building

WordPress Plugins: Procedural or OOP?

As you may be aware, I have a profile on PHP Mentoring and am currently working with a number of PHP developers looking to grow their skills and kick-start their careers. Last week, I received an interesting question through the site, and half-way into writing my response I realized it would make a useful blog post: when writing a WordPress plugin, should I be using procedural or object-oriented programming?

Continue reading→

Stylized photo of an analog bathroom scale

Yet More on Weight Loss

Today marks one year since I sat down, decided I was unhappy with my body, and started taking steps to actively lose weight. Years of “oh, I’ll offset X with a salad tomorrow” had proven that approach ineffective, and with my daughter on the way, I decided it was time to stop being passive about my efforts.

I started tracking my meals and activity on MyFitnessPal; after a month or so (and weighing in at 12lbs less than when I started), I wrote a blog post, On Weight Loss, about what I had learned in the first month. It was an extremely personal post for me, but it also helped to keep me accountable throughout the rest of the year. I also received a lot of great words of encouragement, both on the post and through other channels, from both friends and total strangers alike.

Continue reading→

Close-up of a Rivera guitar amplifier

Getting started with AMP for WordPress

Late last year, Google and other organizations rolled out the open-source Accelerated Mobile Pages (AMP) Project, with the goal of introducing lightweight, lightning-fast content for users on mobile devices. AMP is essentially a subset of HTML and scripts – optimized for caching and performance – designed to speed up the mobile web and to make content accessible to every user, regardless of connection speed or strength.

A few months ago, 10up President Jake Goldman published What Google’s Accelerated Mobile Pages (AMP) means for Consumers, Publishers, and the Future, a piece that has helped spark a lot of interest in Accelerated Mobile Pages among 10up’s clientele, a group lined with major publishers and news outlets. In the article, Goldman concludes that publishers “in a crowded or hotly contested news space, or seeing meaningful traffic to stories from Google, need to quickly prioritize AMP HTML.”

Continue reading→

Stylized photo of an analog bathroom scale

Even More on Weight Loss

It’s been a few months since I’ve written about my weight loss efforts, but I’m proud to report that the progress continues. As of this morning, I’ve lost 46 pounds since June 2015, and I may yet reach my goal of losing a total of 60 by the first of June this year.

Continue reading→

Koala Care baby changing station

Why Can’t I Change My Daughter’s Diaper?

This past weekend, my wife, her mother, and I took my daughter, Emily, to the far-off land of Indiana to meet some of her maternal relatives who have yet to be graced by her presence. Some are elderly and have difficulty with travel, while others have large families of their own making lodging a logistical nightmare. Regardless, this post isn’t about why we were traveling, just that we had a 4.5 hour drive with an infant just north of 7 months old.

Shit happens, and – in this case – literally.

Continue reading→

Track WordPress Site Searches with McAvoy

Another week, another new plugin, it seems. This time, I’m proud to announce that McAvoy is now available in the WordPress.org repository!

McAvoy was born out of a client need to get information about what visitors are searching for on their site. While there are enterprise-level packages to do this and it’s pretty easy to set up in something like Google Analytics, our client wanted a solution that would simply collect information about what people were searching for and make it visible within the WordPress Admin dashboard.

Continue reading→

Enhance your Editorial Experience with Advanced Post Excerpt

I recently released Advanced Post Excerpt, a free plugin that replaces the standard WordPress “Post Excerpt” meta box (a plain textarea) with a stripped down TinyMCE editor instance. Finally, there’s no need for your authors to write HTML (or copy it out of the “Text” tab of the main editor); instead, they’re given the essentials for WYSIWYG text editing (bold, italic, link, etc.) and nothing more.

Continue reading→

A street in Cuba, full of people and vibrant colors

Software for the Greater Good: Apretaste Brings the Internet to Cuba

During SunshinePHP, I had the pleasure of sitting down and talking with Salvi Pascual of Miami non-profit Apretaste. Besides talking about the delicious desserts at the speakers’ dinner, Salvi and I chatted about the current state of internet connectivity outside of the United States. I hadn’t realized it before, but barely 90 miles from where we sat there lives a population where nearly three quarters of the people have no internet connectivity, and of those that do less than 4% have access to anything beyond email.

Imagine if you were living in 2016 with little-to-no access to the internet. No social media. No news from the outside world. No cat videos on YouTube.

Continue reading→

Announcing WP404

I’ve been behind on announcing new projects, but I wanted to make sure I shared this one:WP404 is a framework for capturing additional information and details about WordPress 404 errors, packaged as a WordPress plugin.

The plugin was born out of a need to capture tricky, time-based 404s on a client site. I figured I could either throw something together quickly on the client’s dime or spend my lunchtime and evening building something the community could use. Guess who didn’t want a half-assed tool? ?

Continue reading→

Page 7 of 14

Be excellent to each other.