Jay Hoffmann

WordPress Developer, History enthusiast


  • The Hidden Power

    I recently had a chance to go back and read Jane Mayer’s incredible profile on David Addigton, Cheney’s right-hand man during the Bush years. She outlines the power-play that Cheney and Addington engaged in, pulling from a Reagan era playbook to expand the powers of the Presidency to extralegal judicial rulings and commissions, and even […]

  • Force Maejure (2014)

    A fantastic distillation of the male ego, picked apart and dissected in a way that’s visceral and real. They really make you feel it, the arguments and the embarrassment, and the intimacy of the use of visuals and sounds adds to that. Details

  • Reply to Tantek.com

    In reply to http://tantek.com/2019/171/t1/happy-14th-microformats-org. Finally converted my site (https://jayhoffmann.com/) to microformats in celebration! Next step, POSSE 🙂

  • Editing Crop in WordPress Images Before Upload

    For a recent project, I had a need for a pretty simple workflow. I had a couple of image sizes, which I added with the add_image_size function which required a hard crop to a certain aspect ratio. The workflow for authors I was looking for was: Upload Image Edit the crop for these special sizes […]

  • Using Gravity Forms with Bootstrap Styles

    I use Bootstrap as a starting point for a lot of the themes that I build as a great starting point for reusable components. But one of the problems I’ve run into is trying to integrate Gravity Forms with Bootstrap. By default, Gravity Forms does not include Bootstrap classes, so the two don’t end up […]

  • That Time the Internet Broke

    RE: The Plight of NPM, etc. I won’t pretend to be an expert on NPM, package managers or open source. But last week, something really interesting happened. And it brought into view two issues that have been swirling around in the ether: the dependency tangle that is the Node / Javascript community and the problems […]

  • Chose Your Metric

    I went to Wordcamp Lancaster this year. It was a great time. I gave a talk on Javascript and after the conference, I was perseverating about one of my favorite things: what the f%c Javascript framework should I use. Rami Abraham (who organized the crap of out of WC Lancaster by the way) was quick to […]

  • Changing Field Keys in Advanced Custom Fields

    I recently ran into a problem when using the Advanced Custom Fields plugin which is a bit esoteric. In the previous iteration of the site I was working on, fields were registered programmatically, using acf_add_local_field_group and acf_add_local_field. In the new version, we decided to move these back into the GUI on the admin panel. For most of […]

  • Hemingway’s Advice for Coders

    I’m an avid reader of Brain Pickings (check it out if you haven’t heard of it), and one thing caught my attention a few weeks ago. In the mid-1930’s a young writer by the name of Arnold Samuelson caught up with his hero, Ernest Hemingway. Rather then cast him away, Hemingway took him on as a sort of […]

  • ,

    First Steps with Javascript and WordPress

    It starts with a simple maxim. Learn Javascript Deeply. That’s what Matt said. And it’s good advice. Javascript underpins everything we do, and it’s becoming more and more advanced every day. It’s not just the future of WordPress, it’s the future (and present) of the web. Of course, Matt mentioned this right around the time […]

  • , ,

    Gulp, LiveReload, SASS and WordPress

    For a little while now, I’ve been using Gulp in my WordPress themes to automate my front-end workflow and add some handy helpers along the way. For those unaware, Gulp is a slick JavaScript task runner, which can be used to concatenate JS and CSS files, lint files, and generally automate your front-end workflow. My […]

  • Adam Phillips on Missing Out

    We refer to them as our unlived lives because somewhere we believe that they were open to us; but for some reason – and we might spend a great deal of our lived lives trying to find and give the reason – they were not possible. And what was not possible all too easily becomes […]

  • ,

    Bringing Back the Personal Site

    There have been quite a few articles recently about the importance of the personal site, and the blogging community. It’s a sentiment I’m super excited about. Rian Van Der Merwe has probably the simplest point. Blogs are the front page of the internet, and it’s their freedom that gives them their strength. All this to say that […]

  • ,

    The Responsibility a WordPress User

    Last week, WP Tavern posted an article about how Matt Mullwenweg was addressing concerns over WordPress development moving too quickly. Matt more or less shrugged the question off in his State of the Word, but it is still a rising sentiment. And it’s not just a concern in the WordPress community, but in the larger web […]

  • ,

    The Magpie Developer

    Jeff Atwood wrote this article seven years ago but it holds true: These so-called thought leaders have left a virtual ghost town before anyone else had a chance to arrive. I became a programmer because I love computers, and to love computers, you must love change. And I do. But I think the magpie developer sometimes […]

  • ,

    Leveling Up in JavaScript for WordPress Developers

    Or How I Learned JavaScript. When I started building websites, I used Notepad, and wrote pages in plain HTML and a little CSS. After a couple of years giving that a go, I moved to WordPress, and found out all about web standards. I’ve certainly written my fair share of PHP, but my primary skill set […]

  • Craig Mod On Books

    To return to a book is to return not just to the text but also to a past self. We are embedded in our libraries. To reread is to remember who we once were, which can be equal parts scary and intoxicating. Other services such as Timehop offer ways to return to past photos or […]

  • ,

    How to Make Text That Writes Itself in Javascript

    I’ve launched a new version of this site, but one piece of functionality I carried over from the old one is a typewriter type effect using JavaScript. It’s actually pretty simple, and with about 60 lines of code and no dependencies, you can get it up and running.

  • Ranier Maria Rilke

    For one human being to love another: that is perhaps the most difficult of all our tasks… the work for which all other work is but preparation.” Ranier Maria Rilke, A letter to a friend