Drupal Camp Asheville 2022

Introduction

Drupal Camp Asheville is an annual two-day conference that focuses on hands-on training, community contribution and knowledge sharing for all levels of Drupal experience, with a bonus community day spent together in nature.

Video Sponsor(s) / Provided by
Drupal Asheville
Curated Videos
Description
Let's "get off the island" and look at Drupal security from the point of view of an outsider.

The OWASP Top Ten is an industry standard list of the most common vulnerabilities that can affect web sites. This session will start with an overview of the Top Ten, and then take a more detailed look at a few of these vulnerabilities. We will review some actual Drupal security advisories:

What the vulnerability looks like
How the Drupal security team communicates the problem
The code that was updated to fix the problem
The presenter is a provisional member of the Drupal security team.

Presenter
Benji Fisher of Fruition

Benji is an active member of the Drupal community:

member of the usability team
co-maintainer of the Migrate API
provisional member of the security team
He often helps out on the #ux and #migration channels in Drupal Slack.

Outside of Drupal, Benji enjoys bicycling, square dancing, bridge, yoga, and puzzles (mathematical and mechanical).

https://www.drupalasheville.com/2022/session/security-drupal-what-can-go-wrong
Description
The Center for American Women and Politics recently launched 2 Drupal websites that fulfill a long held goal of providing greater access to their data on women officeholders. This presentation will talk about these 2 projects, including the challenges and successes of each. Along the way we'll discuss strategies for design, site architecture, migrations, and how to leverage core, contrib, and custom modules to build interconnected digital experiences.

Presenter(s)
Sean Walsh of CrowdCG

Sean is a co-founder of CrowdCG and works with higher ed and non-profit clients primarily using Drupal, since 2012. Sean works as a full stack developer and provides design oversight for projects.

Jessica Bladon of CrowdCG
Jessica is a co-founder of CrowdCG and work with higher ed and non-profit clients primarily using Drupal, since 2012. Jessica manages accounts and projects and works on content strategy and site building.

https://www.drupalasheville.com/2022/session/improving-data-access-and-editorial-experience-center-american-women-and-politics
Description
Drupal can be used as a pluggable backend using just about any API you can think of. By integrating with these APIs you can build just about any business apps you would find on the App Store or Google Play.

Drupal is a monolithic architecture yet is mature and feature-complete, this includes the theme layer.

There is increasing interest in replacing the theme layer with decoupled architecture using a JS framework.

These frameworks can greatly enhance a website's "app-like" behavior. Still, increasingly there are more options available for making your website app-like without the extra commitment and pitfalls that come with a fully decoupled architecture.

There are pros and cons of using the Drupal theme layer, in particular, we will discuss how you can make a Drupal-powered website "feel like an app." We will compare which web capabilities can be used for decoupled vs coupled and explore options for a "hybrid" approach.

Building a web app that is responsive, fast, and looks and feels like an app is possible with the theme layer. At times this web experience can even improve what users are used to in a native app or frontend framework because it "just works."

There are a variety of modules, techniques, and libraries that can be used to enhance the app-like functionality of a coupled Drupal install. We will go through examples and demos of each of these capabilities.

Turbo library
Project Fugu web capabilities
JS/CSS/HTML5 web capabilities
PWA technology (manifest + service worker)
Drupal AJAX API

Presenter(s)
Alex Borsody of Moonraft Innovation Labs

Alex has been a software developer for around 15 years. He tries to bridge the gap between reliable, established, and cutting-edge technologies. Working as an architect he uses his experience to build efficient teams with the right technologies. He researches and pushes the boundaries of the CMS, PWAs, and native apps with Moonraft. He is the technical co-founder of CarbonPay.

Wilfred Arambhan of Moonraft Innovation Labs
Wilfred works as a Drupal tech lead for Moonraft Innovation Labs. His areas of expertise and interest lie in open source technologies and content management systems. He has spent his free time mostly with his furry friends and traveling.

https://www.drupalasheville.com/2022/session/app-web-capabilities-your-coupled-decoupled-or-hybrid-drupal-project
Description
Google has announced the end of support for Universal Analytics in July 2023. Don't wait until your Google Analytics stops working to implement Google Analytics 4! We will review the differences between Universal Analytics and Google Analytics 4, how to best plan your transition and configure equivalent (or better) tracking in Google Analytics 4, and common ways to easily implement Google Analytics 4 in Drupal.

Presenter
Stephen Pashby of DesignHammer

As Account Manager at DesignHammer, Stephen focuses on sales, account services, website strategy, analytics, and project management. Outside of work, Stephen serves as a coach at Forge Fencing Academy and Club and as a referee for the NCAA and USA Fencing. Stephen lives in Durham, NC, with his wife Amy and cats Hastings, Mycroft, and Phryne.

https://www.drupalasheville.com/2022/session/google-analytics-4-upgrade-its-too-late
Description
What’s the first thing you think of when someone is called “mentally ill”? Many probably imagine someone unkempt, babbling incoherently on the street or locked up in an asylum.

I am mentally ill, but despite my multiple diagnoses, I am a functional member of society. I’ve been able to deal with my mental illness with treatment, support, and lots of work, and if you’re suffering from mental illness, chances are that you can as well.

In this session I will tell the tale of how I discovered that my feelings of worthlessness and dread were more than just bad moods and how I came to accept that I have mental illness, but mental illness doesn’t have me. By telling what helped me, I hope that attendees will be able to recognize signs within themselves or those they care about and find ways to get help, accept that mental illness is not a damning diagnosis, and get past the stigma that surrounds people with mental illness

Presenter
JD Flynn

https://www.drupalasheville.com/2022/session/i-am-functional-and-so-can-you
Description
The Digital Solutions team at the NC Dept. of Information Technology has developed a custom distribution of Drupal 9 that supports 67 state government websites, including Governor Cooper's official site, the COVID-19 Response Portal, and the NC Citizen Portal.

Now supporting just about every cabinet-level agency website, including many of their constituent divisions, we are next looking to expand to support local government entities with our platform. Some additional detail about our platform is available here:

https://www.nc.gov/local

Presenter
Mac Clark of NC Dept. of Information Technology

Mac works on a Drupal 9 multisite platform supporting 67 state government websites. They are migrating the last of their Drupal 7 sites to this platform in summer 2022, and they couldn't be happier to finally be finishing that up. Ha is also a part-time history teacher.

https://www.drupalasheville.com/2022/session/drupal-9-multisite-lessons-learned-67-sites-and-counting
Description
Lots of work in the community is happening around how to best design, define, theme, and author components in Drupal, and seemingly everyone has their open source/contrib solution to make at least one aspect of building a component system easier. The question is why? What problems are all of these solutions looking to overcome? Why is the community not consolidating on a common approach?

In this session, we'll establish the parts of an individual component and what a component system needs to be successful. From there we'll look at various component system architectures and try to identify common pain points to see if there are bigger problems we should be addressing as a community.

Presenter
Kyle Einecker of Perficient

Kyle has been working with Drupal since 2014, doing everything from theming, module development, to full on project architecture. He is active in the Drupal community and submits modules, patches, speaks at conferences/camps, and is an "Acquia Triple Certified" developer. In his current role, he is a Senior Technical Architect for Perficient, a global digital consultancy.

When he's not working he can be found hiking one of the many trails around Asheville or trying out a new brewery.

https://www.drupalasheville.com/2022/session/why-building-components-drupal-so-difficult
Description
Despite our best efforts, it’s difficult to future proof a website for accessibility standards. Your code and design may follow current standards, but will your careful compliance become obsolete when new guidelines are released? What happens when the site is updated or content is entered? What browsers or assistive technology agents do your consumers use?

We will review a holistic approach for the complete lifecycle of an accessible website —including how to iterate on existing content without impacting the hard work you put in during the build. Much like SEO...your work is never done. It should be considered in the initial build, then maintenance, complete with sprint regression testing, etc

Presenter
AmyJune Hineline of Opensource.com at Red Hat

AmyJune Hineline is the Senior Community Manager at Opensource.com, a project supported by Red Hat. She is also a Drupal Core Mentor. With a dual focus on both open-source community development and inclusivity, she is uniquely positioned to help individuals become more comfortable and confident as they contribute to their communities. She co-organizes various open-source camps and conventions globally, empowering individuals to forge deep community connections that benefit the whole. As a self-described non-coder, AmyJune helps communities discover how they can contribute and belong in more ways than code.

Her ongoing experience as a hospice nurse keeps her in touch with the challenges faced by many end-users. In her continued efforts to make a difference, she helps organize A11yTalks, an online meetup that advocates all things accessibility - one of the core components of building an inclusive web.

Outside of her mission in the technology community space, she has a deep love for mycology, geocaching, and air-cooled Volkswagens. Her ability to spell diarrhea without the aid of spell check has won the hearts of millions.

https://www.drupalasheville.com/2022/session/accessibility-moving-target-whats-new-2022
Description
The Drupal 8+ eco system doesn't have a great system for managing event registrations and attendance, that allows users to pay for event registrations through the Drupal Site. Our major community events, including DrupalCon and Drupal Camps leverage external systems.

The new Event Registration and Event Ticketing modules provide a framework to build a robust event management system within your site. Together they provide free and paid event registrations, tracking of attendees, and check-in and management of activities during the event. Simply enabling Drupal Commerce's checkout process allows for easy setup of payments using the supported payment gateways or custom workflows.

Additionally the event registration module is designed to handle not only individual attendees, but also speakers, sponsors, and supporting persons and organizations. Through the extensibility of Drupal Commerce and entities, these modules can provide a solution for almost any event situation.

Presenter
Rich Gerdes of Unleashed Technologies

https://www.drupalasheville.com/2022/session/event-management-drupal-and-commerce
Description
CKEditor 5 is out and coming soon to a Drupal site near you, as CKEditor 4 is reaching it's planned end-of-life next year. If you've only customized your CKEditor experience via the Drupal GUI then you're in good shape, but if you've gone beyond that to customize CKEditor via a Drupal module (whether just customizing unexposed CKEditor settings, or adding in third-party CKEditor plugins), you'll need to know about the upcoming changes with Drupal 10 and how they'll affect you.

This session will provide an overview of the changes on both the CKEditor side and the Drupal side, and a look at what you'll need to do to get your custom modules updated to work with CKEditor 5.

Presenter
Kevin Pittman of Georgia Institute of Technology

Kevin is a Web Services Architect for the Ivan Allen College of Liberal Arts at Georgia Tech, supporting all of the websites in a college made up of six schools and more than a dozen project centers. He has been working with Drupal for over fifteen years, going back to Drupal 5, and in his spare time, amongst other creative pursuits, Kevin is a professional puppeteer and puppet builder.

https://www.drupalasheville.com/2022/session/everything-you-wanted-know-about-ckeditor-5-and-drupal-were-afraid-ask
Description
Life as a worker in high-tech knowledge economy jobs can be difficult, even painful. Everything about the world we work in always changing. Many tasks seem impossible, even Herculean in their difficulty levels… and people still expect you to work magic and stick the perfect landing. The world keeps turning, and it's tough to keep up. You can do it, and while it may be difficult, the ways to do it are meaningful and achievable.

Inspired by SyFy's The Magicians and informed by works like "Grit" by Angela Duckworth and "So Good They Can't Ignore you" by Cal Newport, this talk will help attendees will learn four ways that they can embrace the principle of grit to achieve their goals. Tearyne will show you how you can master your inner magical strength and achieve your goals through perseverance - while preserving your peace of mind.

Presenter
Tearyne Almendariz of Pantheon

Tearyne D. Almendariz is a Developer Advocate at Pantheon

https://www.drupalasheville.com/2022/session/magic-comes-pain-4-ways-embracing-grit-will-help-you-achieve-impossible
Description
Have you ever found yourself needing to share custom dependencies across several sites? Maybe even for the same client? There are several methods of traversing this workflow, especially if you work in the Drupal ecosystem. The ideology of upstreams, distributions, and multi-sites are something to consider using. However, the fun lies in the challenge of determining how to scale an architecture.

The ingredients for creating a custom packagist, a repository of dependencies used by Composer, are surprisingly easy to come by. Keep in mind that a private packagist can be obtained through a hosted service at packagist.com. In our case, we already had the tooling readily available, so we decided to go the custom packagist route.

The goal of this article is to give you some ideas on how to host a solid packagist for a team, organization, or client while describing how the Four Kitchens team came up with a fun and creative solution to provide this functionality using the tools our client had on hand. I hope to accomplish this by:

Sharing our motivation behind choosing this solution
Identifying the ingredients need to cook up the workflow
Explain baseline hosting, but elaborate on what you could do if so inclined
Layout how we set up automation around the workflow to make our lives easier

Presenter
Allan Chappell of Four Kitchens

Allan may be a good ol’ country boy from West Texas, but don’t let the overalls fool you. Since 2016, he’s applied his vast skill set as technical lead for Four Kitchens’ support engineering team while also managing a team of developers and providing technical support as a backend developer himself.

Allan enjoys working on technically challenging, heavily integrated projects. His range of expertise spans DevOps, automated testing, automated code delivery, continuous integration, and API-driven content.

https://www.drupalasheville.com/2022/session/creating-custom-packagist
Description
A technical writer is a professional who translates highly technical concepts into a digestible format for the end-user. A huge part of a technologist's role -- no matter an architect, developer, or sysadmin -- is communication. But everyone has different ways of doing so. This session is for people looking to learn how to use their individuality to write about the technical subjects they love, in a way that works for them.

Presenter
Marjorie Freeman of Red Hat Inc.

Marjorie Freeman is a community manager by day and a visionary entrepreneur by night. In her free time, she enjoys watching movies, writing, and drawing. She loves the art of storytelling, in all its forms. After work, you can find her with a drawing pad in one hand, a wad of colored pencils in the other, and a classic horror movie blasting on the tv. Whether work or play, she has to be immersed in creativity. Her love for not only storytelling but helping other people channel their inner "creative", translates professionally into her role as community manager for Enable Architect, where she has built a community from scratch built to help systems architects, engineers, and other contributors to systems and business architecture, tell the stories of their work and technological passions, in the best way possible.

https://www.drupalasheville.com/2022/session/you-dont-have-be-technical-writer-write-technically
Description
Git is the de facto standard version control system and every developer learns the basics of add, commit, branch, merge, pull, and push, and that is about all they learn about Git.

However, if you ask most people how Git actually works under the covers, they will tell you they don't really know. Worse yet, when most developers see Git messages like "detached HEAD state" or "Merge conflict", they panic.

Git can do many amazing things, from providing a path to automation for almost any workflow to autocorrecting typos in the terminal. But unless you know a little more about how it works, these advanced workflows stay a dark art.

This session will peel back the shroud of mystery that envelops Git, showing that there is nothing overly complex or terrifying about the inner workings of the world's most popular version control system. This talk is for everyone, from the complete Git novice to folks who have been pushing code for years but maybe have never stopped to look at how Git does its thing.

In this session we will cover:
- A tour of .git folder
- Branches might not be what you think they are
- Rebase is your friend, I swear!
- How reflog can save the day
- The power of Git bisect
- Git worktree, a power feature that feels too good to be real
- And more....

Presenter
Dwayne McDaniel of GitKraken

Dwayne has been working as a Developer Relations professional since 2016 and has been involved in the wider tech community since 2005. He loves sharing his knowledge by giving talks and he has done so at over a hundred events all over the world. Dwayne currently lives in Chicago and outside of tech he loves karaoke, seeing live music, and doing improv.

https://www.drupalasheville.com/2022/session/demystifying-git-version-control-first-principles
Description
The upgrade process from Drupal 7 to Backdrop CMS is a refactoring rather than a rewrite but can still have challenges. It can, however be a cost-effective solution for an organization happy with their existing website and platform.

My favorite module is not available, how would I try to port it? There is actually a contributed module that can help.

How do I rethink my theme? Backdrop uses layouts that aren't part of themes. How does that work? We will go over an example of recreating a Drupal theme in Backdrop, without porting the theme using core and contributed modules.

How long will the upgrade process take?

Presenter
Justin Keiser of Academy of Model Aeronautics

Justin Keiser, Drupal Web Programmer for the Academy of Model Aeronautics, learned about Backdrop CMS at DrupalCamp Asheville in 2019. Since then he began working on a daily basis with Backdrop in addition to Drupal and WordPress.

https://www.drupalasheville.com/2022/session/overcoming-backdrop-barriers-module-ports-and-themes
Description
This is a case study of creating a modern responsive theme for the nc.gov portal website using a Barrio sub-theme to leverage the Bootstrap 5 framework. The Barrio theme is one of the most popular themes and provides a great base to start building a theme with using its sub-theme. It provides a large component library, a color module, Flexbox grid, a SVG icon library and modular SASS stylesheets using GULP preprocessor. Using Barrio as a base theme saves on cost and time in development.

Presenter
Mark Colebank of NCDIT

Mark has been web developing for 25 years and using Drupal for four years. He led mobile web redesign and CMS migration projects for government websites over the last ten years modernizing NIEHS, NTP federal government websites and the State of North Carolina Drupal multisite platform which supports 67 state websites. He enjoys sci-fi, hikes with his wife, and discussing the meaning of life.

https://www.drupalasheville.com/2022/session/how-barrio-was-used-build-modern-bootstrap-5-theme-ncgov
Description
When large numbers of people are visiting a website that’s considered great news. Well, it’s great news until something breaks and now all of those people are angry at you for it. As the visibility of a website scales up, so does the amount of risk so we are going to talk about mitigating that risk.

The right workflows can reduce or mitigate the risk that comes with managing Drupal sites at scale. We’ll walk through how those workflows combined with automation, guidelines and reviews can enable you to move quickly and break less things.

Presenter
John A Richards of Pantheon

John is the Manager of Developer Advocacy at Pantheon and lives in the greater St. Louis area with his wife and clowder of cats. He is a connector of people and an evangelist for the Open Web.
John’s passion for Open Source communities stems from the inclusive and collaborative nature of the people and their elevation of a common good. His role in Developer Advocacy affords him the opportunity to travel around the world, speaking, and engaging with the communities he loves.
Apart from work, John enjoys playing board games with friends, trying new food, and spending time reading with a cat curled in his lap.

https://www.drupalasheville.com/2022/session/5-risk-mitigation-tips-deploying-drupal-scale
Description
We often go through life taking it where it leads us rather than acting intentionally according to our values. When was the last time you stopped to consider your guiding values and purpose in life? Cultivating self-awareness forms the foundations of the path towards becoming the best versions of ourselves so that we are able to more effectively meet the demands of our lives. One thing has become very clear from our work at Esteemed – self-awareness is a key skill for navigating today’s landscape of work.

We can learn to live in alignment with our values and purpose. In this session, Chris McGrath, CEO and Dori Kelner, V.P. of Culture + Well-being at Esteemed will share insights and reflections for mastering self-awareness and connecting with our authentic selves. They will discuss the themes and patterns encountered while working the past 25+ years with developers of all backgrounds, in the past 15 years in the Drupal space as agency owners, and, in Dori’s case, as a mindfulness practitioner.

Attendees of this session will walk away with:

Techniques for understanding the importance and impact of knowing one’s purpose in career and life.
Skills and tools to feel grounded in their job search, and more authentic in their interactions.
The ability to actualize the goals that swim endlessly in their heads
Clarity to make a positive impact in their personal and professional life

Presenter(s)
Chris McGrath of Esteemed

Chris McGrath is the CEO of Esteemed, a company focused on people, workforce management, and human workplace solutions. He is a longtime tech leader, web developer, digital strategist, and solutions architect. He has been an active member, speaker, organizer, and sponsor of the Drupal community since 2011.

Dori Kelner of Esteemed

Dori has a passion for building organizational culture with a strong orientation towards valuing people. At Esteemed, she serves as the VP of Culture + Well-Being, helping to create a compassionate, human-centric workplace for Esteemed's many knowledge-workers and business partners. Her work at Esteemed is informed by her own company, Insightful Culture, in which she has been designing workplace programs for stress management, resilient leadership, and cultural change.

https://www.drupalasheville.com/2022/session/finding-purpose-and-alignment-your-career
Description
This session will discuss Backdrop CMS as a viable, secure, and innovative tool in the Drupal family of software solutions. It will demonstrate, using a recent case study of two Stanford University application management platforms (solo.stanford.edu and seedfunding.stanford.edu), how large scale, complex digital platforms built on Drupal 7 can be successfully upgraded to Backdrop CMS in the right circumstances.

Whether as a stop-gap measure or a longterm solution, Backdrop CMS can ease the transition pressure for organizations struggling with alternative Drupal 7 upgrade paths. The session will discuss some of the key differences between Backdrop CMS, Drupal 7, and Drupal 9+, and will discuss how this Drupal 7 fork can help keep organizations using essentially Drupal software even through the significant obstacles presented by EOL concerns.

With countless websites still using Drupal 7 and many struggling with an ever-closer obligatory upgrade, Backdrop CMS can soften the transition for Drupal users everywhere.

Presenter
Eric Toupin of Aten Design Group

Eric is a senior developer at Aten Design Group, headquartered in Denver, Colorado. He's been working with Drupal for more than a decade, has built a handful of sites in Backdrop CMS, and recently completed two major Drupal 7 to Backdrop CMS upgrades. He currently lives in Sacatepéquez, Guatemala.

https://www.drupalasheville.com/2022/session/backdrop-cms-viable-drupal-7-upgrade-path-case-study-featuring-stanford-university
Description
Some days, I felt more like a slide designer than a product manager. Although that was challenging, I learned a lot about prioritization and developing agile product development roadmaps. These two aspects are essential for making a successful short-term plan.
In this session, I'll walk through the step-by-step roadmap creation process, which will cover:

Identifying and prioritizing alignment and priorities
How to develop a product development roadmap
How will the product roadmap help the stakeholders?
How to share and communicate with stakeholders

Presenter
Jaspreet Singh of Axelerant

https://www.drupalasheville.com/2022/session/how-prepare-product-development-roadmap-agile-way
Description
According to NorthPass, companies with a structured agency onboarding process saw a 60% year-on-year improvement in revenue. If you’re struggling with getting your teams up to speed on your new client projects, come learn how to set up Drupal in a Cloud-Based Development Environment (CBDE).

Paired with on-going support by a dedicated provider for technologies like AWS, application layers, and Drupal, a CBDE can rapidly improve the entire software development lifecycle for any agency.

In this demo by Esteemed Digital and DevPanel, we will demonstrate how to remove the pain points of setting up and managing a cloud-based development environment for your team and your clients. We’ll do in 15 minutes what might take your development team a few weeks to set up.

After our talk, you’ll walk away knowing:

How to set up your own Cloud Dev Environments
How to enable your team to develop 24x7 with only a browser
How to ramp up new developers within one day
How to redesign your software development cycle
How to train your teams to scale

Presenter(s)
Matt Obert of Esteemed

Matt Obert is the Director of Screening at Esteemed. He is a creative technologist and Acquia Certified Drupal 8 Site Builder with more than twenty years of experience building and hosting web applications. He has worked in government, corporate, and non-profit environments, always utilizing the latest technology to support art, design, commerce and philanthropy.

Jasmine Gigas

Jasmine Gigas is a Drupal Developer living in Virginia. When she isn't working, she enjoys riding bikes with her family, staring at her chickens and reading.

https://www.drupalasheville.com/2022/session/onboard-developers-3-5x-faster-cloud-based-development-environments
Description
Chatbots are a type of computer program that uses artificial intelligence (AI) to understand and respond to spoken or written language, which can be programmed to reply to simple keywords or hold intricate conversations about specific domains of knowledge. Since their implementation, chatbots have been reported to save as much as 30% in customer service costs. While they are increasingly ubiquitous, chatbots still must be delicately programmed as to provide the best user-flow to prevent recursive conversation, frustrated clicks, and keyboard smashing.

You will learn how to create a custom conversational AI chatbot knowledge base using Rasa, an open source chatbot framework and how to integrate this chatbot into a Drupal website using the Component module and JavaScript.

Topics covered will include:
- A gentle introduction to Machine Learning and Natural Language Processing
- How conversational AI chatbots work
- How to develop a knowledge/conversation base
- Brief discussion of the different chatbots available
- An overview of Rasa, an open source conversational AI chatbot framework
- How to add a Rasa chatbot to a Drupal website
- How to continually improve a chatbot through Conversation Driven Development

Presenter
Rick Torzynski of Esteemed

With over 12 years of Drupal experience and over 25 years of web programming experience, Rick Torzynski is a Senior Drupal Developer at ECS, and has worked for companies such as SpinSpire, Florida Blue, Scribe Fusion, and APR Energy. He has an M.A. in Psychology with an emphasis on statistics and research methodology. In his spare time, he works on IoT Edge devices (Raspberry Pi, Jetson Nano, OAK-D Spatial Camera), and is a Luthier – a maker of hand-crafted mandolins, guitars, and cigar-box instruments.

https://www.drupalasheville.com/2022/session/creating-custom-rasa-conversational-ai-chatbot-drupal-websites

Drupal is a registered trademark of Dries Buytaert.