Brian Perry

Web Developer

Upcoming

May 21, 2018

Completed a soaking wet Chicagoland Half Marathon yesterday. Finished 1:56:49. About a minute and a half off of my best time, but far from my worst. Hoping for better weather next year.

Permalink

My Struggle to Learn React - Brad Frost

May 16, 2018

I’m going to be honest: I’ve had a hell of a time getting my head around React. More than any other technology I’ve touched over the last 10 years of my career, I just haven’t had it click for me. It’s very frustrating as I really want to learn it, and it’s clear the library has legs.

I found React very difficult to learn the first time I attempted it. So much so that I actually just gave up and moved on to other things. Given that, I find Brad's honest take here extremely relatable (except for the part where Dan Abramov personally helped him through his React struggles.) And from a purely selfish perspective, knowing that a developer (sorry, frontend designer) that I admire had similar struggles with React makes me feel a bit better about myself.

I still don't consider myself a React expert, but three specific things made it click for me:

I'm glad I pushed through. Even though I have a lot to learn and a limited amount of time to do so, I really like React.

Permalink

May 9, 2018

Saw some useful clarification in the #pattern-lab channel on the Drupaltwig slack about which version and edition of Pattern Lab is recommended to use with Drupal going forward.

  • As far as which repository to use, EvanLovely and Salem Ghoweri clarified that we should be using the main Pattern Lab repository, not the Drupal fork that was previously active. Most if not all of the changes from the fork have been merged back into the main Pattern Lab repository.
  • And regarding the edition, EvanLovely somewhat surprisingly recommends the Twig edition over the Drupal edition. Apparently the differences are minimal, and "A true Drupal edition is better represented as a Drupal theme with the Twig edition integrated."

So in summary, the next time you need Pattern Lab for a Drupal project, go here.

Helpful clarification given all of the Pattern Lab forks and editions floating around out there.

Permalink

My Re-Retirement From Comedy

May 7, 2018

If the photo above of me forcing Evan to perform much of the show as a talking broom didn't make it clear, being back at ImprovBoston for the 10th anniversary of Harold Night was a blast. It was strange being back in the building at first, but once I set foot on stage it felt as if no time had passed at all. And I even had an opportunity to publicly shame my brother for his eating habits, which makes the night a success by any measure.

Thanks to all who took in this over the top show, avoided my flailing limbs when I repeatedly climbed over audience chairs, and humored a now dad-heavy group of improvisers as they gave comedy one more spin. Being able to see so many great friends that I hadn't seen in years makes getting stuck on the red line for an hour more than worth it.

The show was such a success that I'll once again be retiring from improv effective immediately. I'll see you all at the 20 year reunion.

(Photo via @haroldnight. Another great photo set is available on the Harold Night Facebook page.)

My Brief Unretirement From Comedy

May 1, 2018

Hard to believe, but it has been years since I've been on stage doing anything resembling improv. I would have guessed that my comedy days were over for good. Well, they still are! But for one night I'm getting back on stage with some old friends at my old stomping grounds to improvise like it was 2008. Will we change the face of comedy forever? Will we mostly talk about our kids while hanging out in the green room? Will we even be able to stay awake past 10:30 PM? Join us on Wednesday May 2, 2018 to find out.

My Takeaways from DrupalCon Nashville

April 26, 2018

I’m more than a little late on the traditional DrupalCon recap this year, but even with some time between me and Nashville what I took away is still quite vivid. Better get it in writing before the remaining echoes of country music drown it out.

My most important takeaway from my trip was that the Nashville Predators let fans smash a car painted with the opponents logo before games. Beyond that, I did also learn some things while at DrupalCon.

There is a lot of excitement behind Layout Builder and layout related initiatives

What the Layout Initiative was able to accomplish with the release of Layout Builder as an experimental module in Drupal 8.5 was extremely impressive. It is a great foundation that the initiative already appears to have clear plans to flesh out and improve. It was promising to see many well attended sessions on this topic, coverage in the Driesnote, and quite a bit of excitement about layouts and Layout Builder buzzing through the halls of Music City Center.

The biggest gap I see in what exists thus far is the disconnect between the block based layout builder and the blocks UI. You currently have to leave the layout builder interface to create new custom blocks before you can add them to a layout, and these blocks have the potential to flood the main Drupal custom blocks UI. I was very happy to hear that there is an issue related to inline creation of custom blocks that should help bridge this gap. In a BOF on Components and The Layout Initiative a number of other relevant issues were identified that could potentially improve the experience and make Layout Builder play even more nicely with component based workflows. I’m hoping to follow along with these, go hands on frequently, and help out where I can.

Many are decoupling, but approaches vary

To poorly paraphrase Matt Davis:

Many people build websites this way outside of the Drupal world, they just don’t call it decoupled

There was a lot of great discussion at the Decoupled Summit (Lullabot has a good recap) but also a feeling that while decoupling continues to gain momentum in the Drupal community, there are still a wide variety of strategies and some alignment on best practices yet to come. That said, I think some of that feeling may just come with the territory of the flexibility of an API based approach and the wide array of application frameworks that can consume these APIs.

An interesting topic that came up was the concept of content preview and managing editorial layouts. In the developer case studies portion of the summit we saw a number of attempted solutions to these problems, including an amazing offering from 1XInternet that allowed content managed in Drupal to be edited in either the Drupal or React UI with updates syndicated in near real time. Wow factor aside, conversations later in the summit brought that entire approach into question. The counterpoint being that these editorial conveniences are page-centric in nature and thus won’t always make sense in a truly decoupled context. In this case we’re either putting in a large amount of effort to replicate the traditional coupled website editing experience, or this only represents one portion of the editorial experience we’re trying to manage. It is understandable that we’re often falling back to the page centric approaches we’re familiar with, but this is more evidence that our approaches to decoupling are still maturing.

Discussions during the summit also often crossed into two key initiatives...

The Drupal community is pushing to modernize...

The Javascript Modernization Initiative looks to improve Drupal’s JavaScript by improving the experience of maintaining Drupal’s current JavaScript codebase, and also creating a new alternative admin UI for Drupal based in React. The initiative has already introduced the AirBnB standards and a JavaScript build process to Drupal Core, but there are more welcome changes on the horizon. One focus area is improving Drupal’s JavaScript based test suite by phasing out the use of PhantomJS and transitioning to Nightwatch.js. They are also attempting to manage aspects of the project primarily on Github which I’d imagine would be a welcome change for many JavaScript developers.

Another common theme that kept coming up is that the JS initiative has a small group working on these issues and could really use additional help. This is another area where I’d love to find a way to contribute in the coming months.

In addition to serving as a proof of concept for how Drupal might utilize React, this UI also crosses over nicely with the API-first initiative since the alternative admin UI that is being developed depends on Drupal’s API. The API-first initiative aims to advance Drupal’s web services in support of decoupling and other new types of integration. Closing gaps in Drupal’s API (file upload support was one that came up as a high priority for 8.6) that could support a decoupled admin UI would also make Drupal’s API more suitable for consumers outside of core.

…but there could be more alignment on how we’re approaching modernization

Complete with its admittedly clickbait title, core conversation A Farewell to Twig received the passionate discussion that the session appeared to be aiming for. This early and theoretical discussion focused on the concept of making client rendering a first class citizen in Drupal and potentially focusing more on decoupling rather than solving all aspects of front end development. One possible approach involved enhancing Drupal’s front end to be decoupled out of the box and then offering one or more decoupled front ends that could optionally be used with Drupal. There were various theories on how far this would go - from shipping with a Twig front end by default (a common concern from the audience was related to continuing to support Twig for small to mid range projects, and also for general consistency) all the way to the concept of not shipping with a front end by default.

It was a thought provoking discussion that also sparked some dissonance with the other things I’d been hearing and thinking about throughout the conference. Much of Dries’ focus in his keynote was on improving the content creator and site builder experience, along with promoting Drupal to non-technical decision makers. This aligns nicely with the layout work (which also featured prominently in the keynote,) but it feels at odds with the focus within the community on decoupling. Can both directions be correct? Should both efforts be happening in parallel? Should I just relax and enjoy all of the new functionality and improvements Drupal has to offer? No easy answers here, so I’ll just link to a relevant meme.

Tangentially related, Steve Persch talked about Drupal’s mission statement compared to WordPress' during the What's possible with WordPress 5.0 presentation. Those missions are best summarized as:

Wordpress: Democratize publishing
Drupal: Ambitious Digital Experiences

I’d agree that Drupal’s mission statement isn’t as easy to hang your hat on when compared to WordPress. And does ‘Ambitious Digital Experiences’ really represent what was focused on during the Driesnote? I’m not so sure.

Presenting at DrupalCon was a ton of fun

I also had the pleasure of presenting Hot JAMS(tack): Building a Music Discovery App with Drupal and React. This was my first time speaking at DrupalCon and I had a ton of fun doing so.

Probably my most interesting takeaway from the session was from an informal poll before the recording even started. The vast majority of people in the room either identified as being new to decoupled Drupal, or new to React. In fact, the vast majority was new to both. This seems to confirm my working theory that there are a lot of people interested in decoupled concepts in the Drupal community but are struggling to find a way to get started. I hope this talk provided a decent starting point and inspired some people to dive in and start experimenting.

Thanks to everyone who attended, packed the room, and provided thoughts and feedback.

This was my most social sprint experience

This DrupalCon sprint was different for me in that I spent the majority of my time having some great conversations rather than actively writing code. I finally had a chance to meet Kaleem Clarkson face to face and talk about how he’s been using the Foundation Patterns theme. I also got to meet and have a nice conversation with Murray Woodman talking to him a bit about how I’ve been using the UI Patterns module, along with his work with Bricks and Modifiers. Especially interesting as earlier in the week I had been talking with Scott at HS2 about how he’s been using the Modifiers module.

And I got lunch at the best BBQ place in Nashville (according to one of my many Lyft drivers anyway.)

Kevin!

It was a damn pleasure to be there in person to see Kevin Thull accept the Aaron Winborn award

Looking forward to continuing the momentum

As always, DrupalCon has me energized and ready to run with this Drupal related excitement (although not enough to get this post out quickly for some reason.) I hope to continue speaking at camps, find some ways to contribute to the initiatives that took up most of my focus at DrupalCon, and an episode of the Developing Up podcast that I recorded with Mike Miles at DrupalCon will be released sometime in the future as well.

Other Great Sessions:

Sessions I’m Still Hoping to Watch:

See you in Seattle!

April 17, 2018

This pretty much sums up my DrupalCon Nashville experience. Thanks to Chris Greatens for the goofy photo.

Permalink

Looking Forward to DrupalCon Nashville

April 6, 2018

Very much looking forward to spending next week in Nashville attending my 4th DrupalCon. The spontaneous and unplanned stuff is half of the fun, but there are a few things that are locked on my schedule.

Monday: Decoupled Summit - I'm excited to hear more about what people are doing in the decoupled Drupal space. This will be my first time attending a summit at DrupalCon as well.

Tuesday 1 PM: Components and the Layout Initiative BOF - I'll be leading an open discussion on how the Layout Initiative might impact our component-based workflows. I've really enjoyed the BOFs I've led in the past and expect this to be no exception.

Wednesday 3:45 PM: Hot JAMS(tack): Building a Music Discovery App with Drupal and React - I'll be sharing my experience building a music discovery app with Drupal and React in my first ever talk at DrupalCon.

Thursday: Who knows!

Friday: Sprints - after a week of exciting new ideas, having a sprint to go hands on is a great way to end the week. I plan on getting back to some forward progress on the Foundation Patterns theme.

Can't wait to say see friends old and new, learn a bunch of cool new stuff, and land a country music recording contract.

March 30, 2018

As always, I learned a few things this week upgrading projects to Drupal 8.5 and applying the most recent highly critical Drupal security update.

The first is yet another reminder to carefully read and consider the documentation. The highest priority projects that I needed to apply the security release to were on 8.4.5 at the time of the pre-announcement. I took this as a good opportunity to upgrade to 8.5 and then kind of got tunnel vision about getting these projects, and also my lower priority D8 projects up to 8.5 in preparation for the security release. Not having looked back at the security advisory since my initial read, I lost sight of the fact that I could easily apply the patch to their current D8 version and worry about 8.5 when the pressure was off a little bit. Thankfully I was reminded of this during a well timed check in meeting with the Drupal practice at HS2 - a few of my 8.5 upgrades were a little behind schedule. Having the flexibility to apply the security update to older versions of D8 really helped and most likely prevented us from rushing a few upgrade related regressions out into production.

Speaking of the 8.5 upgrade getting a bit behind schedule, minor Drupal updates (8.4, 8.5 and so on) are still more challenging than I'd expect them to be. Jeff Geerling's post Updating drupal/core with Composer - but Drupal core doesn't update proved invaluable as I ran into the same issue. I also had another pretty tricky dependency conflict that eventually required me to remove and work around a dependency (again, Jeff Geerling's post helped quite a bit here.) After successfully upgrading to 8.5 composer-wise, I found that a patch to Page Manager needed to be applied for the site to even run.

I'm getting better with managing Drupal projects via composer, but still have some room to grow. Lowest hanging fruit is that I need to start managing patches via composer. Once that clicked in my brain it was a little to late to experiment with it. Next time. I also still sometimes get tripped up with the difference between the ^ and ~ version constraints in composer.json which is embarrassing to admit.

I also ran updates on Drupal instances based on API-first distributions. Those were a bit of a different beast. In my case, most were single purpose enough that I was able to just run composer update and call it a day. That said, each distro had their quirks. The version of Reservoir I was using had a dependency conflict that prevented the upgrade until I manually locked Reservoir at Alpha 4. Contenta seems to have a patch that won't apply to 8.5

I'm all for learning, but also looking forward to this process becoming smoother sailing in the future.

Permalink

Shop Talk Show 303: JAM Stack with Phil Hawksworth

March 22, 2018

A great listen that could serve as a solid introduction to the JAM Stack concept. Especially interesting was the focus on some common counter arguments to the JAM Stack (dynamic things like forms, comments and so on) and how those may be more achievable than one might originally assume. As I try to add a little more punch to the JAM Stack focused portion of my DrupalCon talk I see myself going back for another listen.

With a new critical Drupal security release on the horizon, static site builds are looking better and better. I'm glad I won't have to won't have to worry about this site (Drupal isn't accessible to the public) while I scramble to apply the security release elsewhere.

Permalink

MidCamp 2018 Thoughts

March 14, 2018

Another year, another great MidCamp!

I wasn’t able to attend for training and sprints on Thursday (1st grade play FTW!) but ended up talking to a former co-worker who attended the training 'What Am I Getting Myself Into? A Drupal Crash Course for Non-Developers.’ While it's easy to get wrapped up in the new and advanced at a camp like this, it is also really important to see newcomers, beginners, and people with Drupal-adjacent roles take steps into becoming more hands on with the CMS. She specifically mentioned that the training helped her have some revelations about a few Drupal-isms that us crazy developers have been talking about all this time.

After some really enjoyable traffic, Friday brought me to the first day of sessions. A couple of highlights:

Local Dev Environments for Dummies - the bulk of this presentation reviewed data from a 2018 Drupal Developer Survey, and the data alone was extremely fascinating. It also provided some interesting perspectives on Vagrant vs. Docker for local development (go Vagrant if matching your prod environment exactly is important, and Docker for pretty much everything else.) I also walked out of this one itching to learn more about Lando.

Decoupled Drupal Across The Stack - always enjoy seeing Preston speak about Decoupled Drupal, and being aware of his (and Acquia’s) perspective on the topic is important if I’m going to be speaking about adjacent topics as well. A good talk for someone looking to survey the current Decoupled Drupal landscape. Was interesting to see that all of the examples Preston provided included some server side universal JavaScript component to handle the initial page view. I’ve been working on learning more about the JAM Stack which specifically does not include JavaScript running on the server. Seeing examples of this alternative stack helped get me thinking more about the pros and cons of both.

Component Based Drupal - Surprise! After a cancellation, Adam Bergstein and I stepped in without much of a safety net (I learned that I was co-presenting this session due to a mention on twitter) to talk about the current state of building and theming with components in Drupal. I’ve always enjoyed my conversations with Adam on this topic because while we primarily agree, we also have some differences of opinion and take some different approaches in our workflow. Continuing this conversation out in the open seemed to be useful to people, and I even got to joke around a little bit. I wouldn’t be surprised if Adam and I presented in a similar format in the future.

Saturday - less traffic, more sessions.

OOP - The Pokemon Journey / Bending Behat's Benefits: A live coding adventure - A journey followed by an adventure? Hell of a way to spend a groggy Saturday morning. I love hearing from both Fatima and Steve whenever I can. The OOP Pokemon Journey was a fun and easy to understand talk on a topic that I honestly don’t yet consider myself an expert on. And Bending Behat’s Benefits made me anxious to incorporate some more test driven development into my process after some time away.

Too many cooks! Supporting augmented teams without getting salty - I wasn’t able to attend in person, but heard great things. It’s next up in the YouTube queue.

American Medical Association: Topic Landing Pages (A D8 Case Study) - an excellent, and extremely relatable talk about the challenges of Drupal 8 landing page building integrated with a pattern library based approach to theming. I’ve felt so much similar pain/joy on recent projects. They also closed with the reminder that we all need to look into how Layout Builder in 8.5 and the Layout Initiative will impact this process going forward, which I think is extremely important.

Hot JAMS(tack): Lessons from Building a Music Discovery App with Drupal and React -This is my attempt to demystify the process of creating a decoupled app with Drupal and React by way of a fun side project. It was my first time giving a talk that I’ve had brewing for a while, and I was happy with how it went. Heard a lot of positive and helpful feedback and have a few things that I think I can tweak to make it more useful for people. Looking forward to presenting it again at DrupalCon Nashville.

Plus, this was pretty cool:

Sunday was sprints, and unfortunately more traffic on the way home. I was dragging a little bit at this point, but still feel like I was able to get a few things done. I got back to the Foundation Patterns theme and responded to the first issue submitted against the project. I helped Tony Klose set up a Pattern Lab instance for a Drupal theme, and realized that I don’t have a clear personal process for including a pattern library as an external dependency of a theme. I also collaborated with Adam Bergstein a bit more looking at a possible React front-end for simplytest.me

    Major Takeaways:
  • I’d like to experiment more with Lando for local dev.
  • I want to understand more about the advantages and disadvantages between a decoupled architecture using universal JavaScript vs a JAM Stack approach.
  • I need to make time to better understand how the ongoing efforts related to the Layout Initiative will impact my component driven process.

A huge thanks goes out to the MidCamp organizers who overcame some pretty steep challenges to put on another great camp. I’ll see everyone next year at O’Midcamp!

Here's how React's New Context API Works - Wes Bos

March 13, 2018

Have been hedging my bets about learning Redux, but was getting close to taking the plunge. Now I'm wondering if React's upcoming Context API can meet my needs. Looking forward to more takes on advantages and disadvantages of the context API in comparison to things like Redux.

Permalink

Accommodating Drupal In Your Components

February 24, 2018

While Drupalers are rejoicing at these exciting advances allowing newfound front end freedoms, there are still a few hoops to be aware of in order to make the most of Drupal, especially for a newcomer who might be eager to shove aside a lot of what Drupal provides. ...things that are easily dismissed in a component-driven approach, like letting Drupal fully render fields, can cause headaches further on if they’re ignored, and make life difficult when it comes to keeping your front end forward-compatible with Drupal.

The UI Patterns module really does solve many of the problems outlined in this post, so my preference is to embrace that approach and leave these complicated presenter templates behind. But for those who haven’t embraced UI Patterns, this post really is essential.

When explaining some of the gotchas with this approach, I often use images as a simple example. Creating a component from scratch the instinct is often to pass in src and alt values as variables to get the cleanest markup possible. You can get that stuff out of Drupal, but it really is a pain. You’re better off just using the image markup Drupal renders, even if it isn't exactly as clean as you want it to be. Sometimes not fighting this battle at all is the right way to go. But if you want the perfect markup this post has everything you need to do it the right way.

Permalink

February 24, 2018

Went down a bit of a CSS-Tricks rabbit hole over lunch today.

Started with Complexity. I've enjoyed all of the recent point / counterpoints about the increasing complexity of front end development. This is a nice summary.

That led me to The Future of Front End Web Development. Totally agree with everything in there, maybe with the exception of 'the line between native and web is blurring.' I'd probably just put that one in the future-future of front end web development category. Not quite there yet, but looking forward to when it is more of a reality.

And then that led me to When Does a Project Need React. The more comfortable I become with how state is managed in a framework like React, the more insane our old jQuery tricks to jam state into the DOM seem. That said, not all projects have complex state.

Permalink

R U Talkin' R.E.M. RE: ME?

February 21, 2018

It's very hard to explain why, but I consider 'U Talkin' U2 2 Me?' to be the greatest podcast of all time. Possibly just one of my favorite things of all time. I don't like U2 all that much, yet somehow hearing Scott and Scott break down U2's entire discography over 24 episodes was something I saved for special occasions and often laughed to the point of tears while listening to. And boy, did they ever spend a lot of time talking about the band U2 (not really.) They even knew the names of every single member of the band. Truly encyclopedic knowledge.

And now Scott and Scott are back with 'R U Talkin' R.E.M. RE: ME?' in which they explore the output of the band R.E.M in what I'm sure will be painstaking detail. I like R.E.M. more than I like U2, but I can't say I would ever want to go through their entire back catalog. Yet somehow here we are again, and I'm excited to hear all about the album Monster. Listening today was just like old times. Can't wait to save for long road trips and laugh to the point of nearly driving off the road.

If you're looking for more info on what the hell this is all about, this Stereogum interview is as good a place as any. It might just confuse you more, which is par for the course.

Good ep.

Permalink

Decoupled Drupal Dumb Problems: Malformed Markup

February 20, 2018

Mateu has many of the Decoupled Drupal Hard Problems well covered, so I'll take care of one of the dumb ones.

I noticed last weekend that the build was broken for this site - post switching on the homepage wasn't working, and as you scrolled down, posts started to be wrapped in the container for the previous post. I tried a new Gatsby build and saw the same thing. Next, I zeroed in on the post where content started overlapping and eventually noticed that I had some malformed markup in my post in Drupal - a missing closing quote for a href attribute. After updating the post to add the missing quote and doing another build, everything was fine again.

You could chalk most of this up to me - if I was using a wysiwyg editor it would have added the correct link markup for me, and I should probably be taking a closer look at my build after it goes to GitHub Pages. But I think this hiccup was a nice reminder of the reality of these super sexy decoupled architectures. We lose a bit of the protection that Drupal provided us from something like malformed markup in a body field making a page explode. Builds will break in ways that they didn't with Drupal alone - the site worked fine in development mode but broke when the production bundle was built. And while testing is always important, we likely need to test in ways that are different from when we were testing Drupal by itself.

There are lessons to be learned even in the dumbest of problems. I'm sure I'll run into some more.

February 19, 2018

Learned the hard way recently that Drupal 8.4 upgrades jQuery to jQuery 3. This kills a few methods that were deprecated in previous versions of jQuery including .load(), .unload(), .error(), and .size(). The release notes cover this, but it didn't fully click until I actually ran into the issue.

Related: is a minor release really a minor release if it contains major release upgrades for a couple of your largest dependencies?

Permalink

No More Guns Please

February 19, 2018

Theresa Nicholls was eager to get back home as she packed her bags at the Hyatt Regency Chicago on Friday.

Her weeklong conference of school psychologists had been rocked by the mass shooting at a Florida high school. A day earlier, a Chicago police officer had been shot and killed in the Loop, just blocks from where she and her colleagues were staying.

As she was getting ready to check out, a friend texted her: There had just been a shooting in the lobby of her hotel.

“What the hell is going on?" she thought. "What is happening? It’s like the world is falling apart around us.”

My wife was at this conference. There are a lot of reasons we need to do something about America's access to guns. Let's add this one to the list.

Permalink

React For Drupal

February 19, 2018

A great collection of resources on creating decoupled applications with Drupal and React from the Lullabot folks. Hope to contribute a link or two at some point.

Permalink

Middle End Developer

February 15, 2018

I say that I'm a 'full stack' developer, even though it is a term I've never really liked all that much. The main reason that I don't like the term is because I feel like it doesn't mean that much to people. Full stack developer kind of feels like someone saying 'I'll do whatever'.

I'm not sure if it is directly related to being a full stack developer, but over the years I've seen a pattern in how I'm utilized. In my various roles as a developer, I often start out doing front end work, and then over time find myself doing predominantly back end work. This could be because back end work has a higher value at the places I've worked. It also could be because I suck at front end and just don't know it (hopefully not that one.) It's almost as if what people take full stack to mean is that the developer is exaggerating about their skill level on either the front or back end of the stack. Or maybe that they just haven't figured out which end of the stack their real talent lies.

I've always considered myself someone who prefers front end, so that is a bit of a challenging pattern to be stuck in. But lately I've been wondering, am I not being honest with myself?

Maybe I'm just describing myself wrong. I often describe myself as is a full stack developer with a preference for front end. While that sounds kind of like a line from a personal ad, it does describe what I like to work on. I prefer front end work, can do back end work, and especially enjoy back end work when it is in service of making front end work possible or better.

Drilling down on that last part brings us to the section where perhaps I'm not being honest with myself.

I can do back end work, and especially enjoy it when it is in service of making front end work possible or better.

Maybe my real thing is what lies in the middle. The overlapping part of the venn diagram between front end and back end.

There is so much in the middle.

Helping front and back end developers communicate. Developing and maintaining pattern libraries. Helping different developers or different systems integrate with pattern libraries. Everything that goes with decoupled architectures - the APIs supporting them, the fancy JavaScript frameworks that use those APIs. And of course, stepping out of the middle when the situation calls for it.

Maybe I've been a middle end developer all along.

iO West Is Shutting Down Next Week - Splitsider

February 14, 2018

iO West, the Los Angeles branch of Chicago’s iO Theater (formerly ImprovOlympic) founded by Del Close and Charna Halpern, is closing its doors for good next week.

At first it struck me as odd that many of my comedy friends on social media were talking about this like someone close to them had passed away, but I eventually realized that I've just been out of the comedy scene too long. If this happened to my home theater back in the ImprovBoston days, I probably would have reacted the exact same way. Running a theater is an inherently risky business and 25 years is quite an accomplishment. I hope everyone finds a new home to keep doing what they love.

Permalink

DrupalEasy Podcast 205 - Fatima Khalid - First time sprinter's guide

February 14, 2018

Fatima Khalid (sugaroverflow), web developer with Digital Echidna, and DrupalCon Nashville track chair and sprint mentor joins Mike Anello to talk about how to be a first-time sprinter at a local Drupal event or a DrupalCon and how she came for the community and stayed for the code.

Thought this was a really fun and accessible overview of what a sprint is like. I found them very intimidating at first and I think hearing an overview like this in advance would have helped. Don't know how many first time sprinters are avid listeners of Drupal podcasts, but any little bit helps.

Permalink

Designer-Oriented Styles - James Kyle

February 12, 2018

Each of these have trees of components which are made up of other components and elements (often named different things). Each element in the tree is independently styled. It's not built around cascading styles and the expectation is that you can copy any element and place it anywhere else and it will look identical.

Interesting way to think about this - the end result of CSS-in-JS might just be what our designers wanted all along.

Note: I’m going refer to “CSS-in-JS” as “Component-Oriented Styles” from here on out, because JavaScript really doesn’t have much to do with it. “CSS” will refer to the traditional way of writing .css files with selectors and all.

I also really like the term "Component-Oriented Styles." Be it a methodology like BEM or a library like Styled Components, we're really just trying to make styles predictable within the scope of of a reusable component.

Permalink

To PESOS or to POSSE - Dries Buytaert

February 11, 2018

The IndieWeb movement has provided two clever names for these models:

  1. PESOS or Publish Elsewhere, Syndicate (to your) Own Site is a model where publishing begins on third party services, such as Facebook, and then copies can be syndicated to your own site.
  2. POSSE or Publish (on your) Own Site, Syndicate Elsewhere is a publishing model that begins with posting content on your own site first, then syndicating out copies to third party services.

I've been thinking about this as well as I build out this website. I fall into the POSSE camp, and right now it's completely manual and mostly just me posting links on Twitter. To some extent, I'm even fine with this website just being its own disconnected thing. It will always be a small subset of my social network that would make it here and actually read something, and that seems just about right.

Permalink

February 11, 2018

When initially setting up gatsby-source-drupal for this site I started thinking about how I could adjust my GraphQL query to only include published posts. I eventually realized that the plugin was already doing that by default. That isn't always the case for stuff like this, so it was a nice time saver.

I also found that gatsby-source-drupal seems to work best with Contenta for some reason. More on that soon - I'm hoping to have a longer post on Drupal and Gatsby at some point.

Permalink

MidCamp Needs Your Help

February 9, 2018

MidCamp is my home base Drupal camp and one that I've attended for years. This week the organizers apparently ran into a pretty major snag with some budgeting issues with the venue.

For me, MidCamp is a really important part of staying connected with the Chicago-area Drupal community. It is also the first Drupal event I ever presented at, and I'm scheduled to speak again this year. I'd really hate to see MidCamp have to scale back and not be the MidCamp we all know it can be.

There are many ways you can help. If you have a company (or a rich uncle) that could sponsor, that could make a huge difference. If you have the means to become an individual sponsor, that would help too. Word is that they are also working on an option to accept smaller donations as well. And if none of that is possible, registering or volunteering helps.

Do what you can, and hopefully we can all make it happen. Looking forward to seeing everyone in Chicago in March.

Update: MidCamp is also accepting donations of any size

February 3, 2018

Can't recommend Celeste enough. Perfect for Switch.

Permalink

DrupalCon Nashville Session Proposals

January 29, 2018

The call for DrupalCon Nashville session proposals closed this past Wednesday and I was able to get my act together enough to submit two of them. The process of putting together a session submission is always an interesting one for me. For DrupalCon it is usually a wonderful mix of overanalyzing, combined with good old fashioned imposter syndrome. That said, I feel like I improve each time around, and I think these are my strongest proposals yet.

Submission one was 'Component Based Theming with UI Patterns.' I've given this talk before and was happy with how it turned out. I submitted this one very early, and also noticed that Mario Hernandez had submitted another talk on the topic as well. In hindsight, I should have reached out to him and seen if there was any way to collaborate as he ended up joining up with another speaker for his session. Lesson learned for next time.

Submission two was 'Hot JAMS(tack): Lessons from Building a Music Discovery App with Drupal and React.' Strong competition as well here with many Decoupled Drupal and React related topics, but Im hoping I have a slightly different angle that might garner some interest. True to my usual form, I also went with a goofy, high-concept approach with the submission. Almost got cold feet about going in that direction, but decided I'd rather have fun with it. Ironically, with a proposal that heavily references music, I didn't even make the Music City connection until writing this post. Would have been fun to play that angle up more.

This will be my third time submitting sessions to DrupalCon North America (which I guess is now just DrupalCon?) I've never been selected, but I have been asked to be on call as a back up speaker, which I had no idea was even a thing. Regardless of the outcome, I enjoyed the process putting these session proposals together and look forward to Nashville this year. I've never been!

Update: Was a little wrapped up in the DrupalCon deadline, but I also submitted both of these sessions to MidCamp in Chicago. In addition to being my home camp, MidCamp is always really, really great. You should go!

Nintendo Labo

January 18, 2018

Today, the company revealed a new initiative dubbed Nintendo Labo, which involves DIY cardboard accessories that can transform the Switch’s Joy-Con controllers into everything from a fishing rod to a piano to a full-on robot suit. These accessories are then used to control a variety of mini-games, essentially turning the Switch tablet into a tiny arcade.

Paraphrasing, but when I told my wife about Labo she said, "Nintendo is going to get you to buy a cardboard box, aren't they?"

Permalink

Building Something from Nothing

January 7, 2018

It wouldn't be a new year without the desire to relaunch my personal website. Happy 2018!

It could be another case of New Years delusion, but this year I think the timing might actually make sense. Over the past year I've been exploring React and the world of Decoupled Drupal. After working through Wes Bos' React For Beginners course and having some concepts finally click, I took another shot at creating a web app based on the Album of the Year Project. Having a project I could slowly chip away at over the year provided a great low pressure way to learn, and also prevented me from having to re-learn things as they vanished from my brain. I'd love to duplicate that situation in 2018.

Next up learning wise I'm planning on continuing my experimentation with the JAMstack by way of Gatsby.js. I like what I've seen of Gatsby thus far. It allows me to leverage all of the things I've enjoyed about React, while combining that with the features of a static site generator like Jekyll or Hexo. And it plays nice with Drupal 8 as well, which is a plus.

So welcome to my new Gatsby site. It will be nice to have an active personal website again, but perhaps even more exciting is the fact that this serves as another low pressure project I can chip away at throughout 2018 to learn more about React and decoupling Drupal. I'll start out with a site very close to nothing - little content, little styling - and slowly add new stuff as time and interest allows.

With any luck this site will look completely different by the time 2019 approaches. And hopefully I will have learned a thing or two along the way. If you're curious, the code is available on GitHub.

  • All (30)
  • Posts (10)
  • Links (12)
  • Notes (8)