<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Development on Nerdstein</title><link>https://nerdstein.net/tags/development/</link><description>Recent content in Development on Nerdstein</description><generator>Hugo</generator><language>en</language><lastBuildDate>Thu, 31 Oct 2024 00:00:00 +0000</lastBuildDate><atom:link href="https://nerdstein.net/tags/development/index.xml" rel="self" type="application/rss+xml"/><item><title>A litmus test of an AI application</title><link>https://nerdstein.net/blog/litmus-test-ai-application/</link><pubDate>Thu, 31 Oct 2024 00:00:00 +0000</pubDate><guid>https://nerdstein.net/blog/litmus-test-ai-application/</guid><description>&lt;p>Two years ago, if you had asked me to build a conversational chatbot that leveraged AI, I would have been discussing hundreds of thousands of dollars to build and run it. Today, I built a prototype in one hour that cost me six cents of a SaaS service. It is astonishing to know how far this space has come in such a short timeframe. While it&amp;rsquo;s rare I blog at this point, I want to share more about this experience.&lt;/p></description></item><item><title>DrupalCon 2022 Recap</title><link>https://nerdstein.net/blog/drupalcon-2022-recap/</link><pubDate>Mon, 09 May 2022 00:00:00 +0000</pubDate><guid>https://nerdstein.net/blog/drupalcon-2022-recap/</guid><description>&lt;p>It has been a while since I wrote a blog post and it&amp;rsquo;s an acknowledgement that I dialed back some of my normal Drupal community involvement. Between several years of maintaining and rebuilding SimplyTest.me on top of my personal and professional obligations, it was good to take a break. I have since been promoted at Acquia and invested a lot there. I’ve also enjoyed time with my family, and recently got a puppy. I feel it is now time to look ahead.&lt;/p></description></item><item><title>SimplyTest.me From The Ground Up</title><link>https://nerdstein.net/blog/simplytest-from-ground-up/</link><pubDate>Wed, 22 Sep 2021 00:00:00 +0000</pubDate><guid>https://nerdstein.net/blog/simplytest-from-ground-up/</guid><description>&lt;p>When I took over as the project lead for SimplyTest.me, the previous lead shared three primary things with me:&lt;/p>
&lt;ul>
&lt;li>
&lt;p>The system had a non-trivial amount of technical debt and was rising more with time&lt;/p></description></item><item><title>Drupal CI/CD with TugboatQA and Github Actions</title><link>https://nerdstein.net/blog/drupal-ci-cd/</link><pubDate>Tue, 29 Dec 2020 00:00:00 +0000</pubDate><guid>https://nerdstein.net/blog/drupal-ci-cd/</guid><description>&lt;p>Vacation this year has been amazing. I&amp;rsquo;ve caught up on some of my long-standing to do list, like launching this new nerdstein site and digging into some of the newer technology I&amp;rsquo;ve wanted to explore. SimplyTest has some great new contribution I am excited about. I&amp;rsquo;ve spent a ton of time with the kids coloring, playing, and just enjoying these moments while they are young. It is shocking how quickly they have grown. I&amp;rsquo;ve cooked a lot and those close know how much I enjoy doing that. I&amp;rsquo;ve blogged more - finally - after a long hiatus and lack of motivation. I am currently enjoying an Eight &amp;amp; Sand Brewing - &lt;em>Loco Mo Sim DDH&lt;/em> and listening to the Gravity album from Our Lady Peace. The kids are currently asleep. I wanted to share some things I&amp;rsquo;ve explored today.&lt;/p></description></item><item><title>Finally! A website refresh</title><link>https://nerdstein.net/blog/new-site-2020/</link><pubDate>Mon, 28 Dec 2020 00:00:00 +0000</pubDate><guid>https://nerdstein.net/blog/new-site-2020/</guid><description>&lt;p>Let me welcome you to the new nerdstein.net. I&amp;rsquo;d like to thank Ana Laura Coto for help with the design. I&amp;rsquo;d like also thank Jonathan Daggerhart for being there when I needed an assist. I am really happy to finally share this project with the world.&lt;/p></description></item><item><title>Getting Started with Drupal Rector Development</title><link>https://nerdstein.net/blog/getting-started-drupal-rector-development/</link><pubDate>Tue, 05 May 2020 00:00:00 +0000</pubDate><guid>https://nerdstein.net/blog/getting-started-drupal-rector-development/</guid><description>&lt;p>Drupal 8 introduced a lot of changes. Its usage of best-of-breed dependencies, like Symfony, represented a major shift for Drupal. Drupal 8 also moved to a more nimble release cycle with its major and minor releases, allowing a major version of core to get new features in minor releases. Between dependencies releasing updates and changes to core being more common, Drupal needed to evolve to manage change. One way this happens is through deprecations. This provides a way for Drupal to evolve, identify old code as deprecated, and offer guidance on a replacement. Deprecations were especially common as Drupal evolved from a largely procedural approach to one leveraging more object orientation and some of the design patterns Symfony uses, like controllers, services, and more. But, the great thing about this approach for deprecations is that deprecations do not get removed until the next major release of Drupal. This buys the community time to progressively fix deprecations within their code and is somewhat expected between major releases. But, what if addressing deprecations could be automated?&lt;/p></description></item><item><title>Drupal 9 Deprecations with SimplyTest.me</title><link>https://nerdstein.net/blog/drupal-9-deprecations-simplytestme/</link><pubDate>Wed, 04 Mar 2020 00:00:00 +0000</pubDate><guid>https://nerdstein.net/blog/drupal-9-deprecations-simplytestme/</guid><description>&lt;p>Drupal 9 readiness is as easy as cleaning up deprecations for your Drupal 8 project. SimplyTest is well positioned to help with this.&lt;/p>
&lt;p> &lt;/p>
&lt;h2 id="deprecation-reporting">Deprecation Reporting&lt;/h2>
&lt;p>You can generate a report of the deprecations by performing the following steps:&lt;/p></description></item><item><title>SimplyTest.me release welcomes TugboatQA, Centarro, and Linode</title><link>https://nerdstein.net/blog/simplytestme-release-welcomes-tugboatqa-centarro-and-linode/</link><pubDate>Sun, 06 Oct 2019 00:00:00 +0000</pubDate><guid>https://nerdstein.net/blog/simplytestme-release-welcomes-tugboatqa-centarro-and-linode/</guid><description>&lt;p>On the evening of September 13th, &lt;a href="https://simplytest.me">SimplyTest.me&lt;/a> launched a major new release of the product. The product release achieved three major goals:&lt;/p>
&lt;ul>
&lt;li>
&lt;p>Replacement of the backend with TugboatQA&lt;/p>
&lt;/li>
&lt;li>
&lt;p>A new one-click demo framework&lt;/p></description></item><item><title>A DevOps Primer</title><link>https://nerdstein.net/blog/devops-primer/</link><pubDate>Mon, 29 Apr 2019 00:00:00 +0000</pubDate><guid>https://nerdstein.net/blog/devops-primer/</guid><description>&lt;p>I just closed about 100 browser tabs from an early year activity. While it’s embarrassing I left those tabs open so long (going on five months), I wanted to leave them open to reflect on what I learned. And, what a better way to reflect than a blog post.&lt;/p></description></item><item><title>The Season of SimplyTest</title><link>https://nerdstein.net/blog/season-simplytest/</link><pubDate>Fri, 18 Jan 2019 00:00:00 +0000</pubDate><guid>https://nerdstein.net/blog/season-simplytest/</guid><description>&lt;p>Last year was spent primarily learning about SimplyTest. We did make some progress, but I think “keeping the lights on” for a system of this complexity was quite a feat after the project transfer. It’s a unique and fairly complex endeavor that bridges all elements of an open source project, a completely free service, and underlying infrastructure. I see all of the good and the bad that comes from each aspect: system maintenance, feedback from community members, customer service (Slack, Twitter, etc), system outages, and more. I recognize how valuable this service is to the community and I strive to offer the best service possible.&lt;/p></description></item><item><title>Custom REST Resources in Drupal 8</title><link>https://nerdstein.net/blog/custom-rest-resources-drupal-8/</link><pubDate>Sun, 16 Dec 2018 00:00:00 +0000</pubDate><guid>https://nerdstein.net/blog/custom-rest-resources-drupal-8/</guid><description>&lt;h1 id="introduction">Introduction&lt;/h1>
&lt;p> &lt;/p>
&lt;p>Drupal 8 is a great platform for storing structured data and exposing web service endpoints. This offers Drupal a competitive advantage when creating a decoupled application or building Drupal as part of a larger enterprise of systems. Core offers many complementary out-of-the-box features to publish web services and configure them in different ways. This includes roles/permissions, Rest Web Services, Serialization, Views, and more.&lt;/p></description></item><item><title>Static and Dynamic Capabilities of Design Systems</title><link>https://nerdstein.net/blog/static-and-dynamic-capabilities-design-systems/</link><pubDate>Wed, 15 Aug 2018 00:00:00 +0000</pubDate><guid>https://nerdstein.net/blog/static-and-dynamic-capabilities-design-systems/</guid><description>&lt;p>It’s a classic computer science concept: Static versus Dynamic. This fundamental concept is what separates content management systems from static HTML, as a practical example. But, how does this apply to design systems like Pattern Lab and any system(s) that consume Pattern Lab artifacts?&lt;/p></description></item><item><title>Achieving Clarity in Component-based Best Practices</title><link>https://nerdstein.net/blog/achieving-clarity-component-based-best-practices/</link><pubDate>Mon, 02 Apr 2018 00:00:00 +0000</pubDate><guid>https://nerdstein.net/blog/achieving-clarity-component-based-best-practices/</guid><description>&lt;h2 id="introduction">Introduction&lt;/h2>
&lt;p>Here we are. It’s been over a year now that our community has explored design components (integration of design systems, pattern libraries, etc) and Drupal. The community has shared different tools and solutions, presentations from many individuals representing different companies and perspectives, and processes/workflows that enable the different teams and disciplines. I would classify the time spent to date as research, exploration, and innovation. While this is expected for something new, we need to define best practices. The purpose of this blog post is to help us start a conversation to have guidelines and principles we can use to have better discretion when developing component-based solutions.&lt;/p></description></item><item><title>The Future of SimplyTest.me</title><link>https://nerdstein.net/blog/future-simplytestme/</link><pubDate>Thu, 28 Dec 2017 00:00:00 +0000</pubDate><guid>https://nerdstein.net/blog/future-simplytestme/</guid><description>&lt;h2 id="simplytestme">SimplyTest.me&lt;/h2>
&lt;p>&lt;a href="https://twitter.com/patrickd_de">PatrickD&lt;/a>, the maintainer of &lt;a href="https://simplytest.me/">SimplyTest.me&lt;/a>, recently &lt;a href="https://twitter.com/patrickd_de/status/944267615861723137">expressed interest in transitioning the application to a new maintainer&lt;/a>. Let me first acknowledge how valuable this tool is for the community. It helps first time contributors who want to rapidly test a patch. It helps community members prototype modules or distributions without the concern of standing up a server. It’s really helped people, especially those not deeply technical, and should continue to as far as I’m concerned. I’ve used this at code sprints, I’ve tested patches on d.o, and generally point people to this in lieu of setting up a formal sandbox. I have been and will continue to be a big fan of this tool and what it does for the community.&lt;/p></description></item><item><title>Impacts of Drupal and Ambitious Digital Experiences</title><link>https://nerdstein.net/blog/impacts-drupal-and-ambitious-digital-experiences/</link><pubDate>Fri, 17 Nov 2017 00:00:00 +0000</pubDate><guid>https://nerdstein.net/blog/impacts-drupal-and-ambitious-digital-experiences/</guid><description>&lt;p>This terminology has never sat well with me. I haven&amp;rsquo;t had the time really to articulate why. Allow me to explore my thoughts further.&lt;/p>
&lt;p> &lt;/p>
&lt;p>I fully recognize that people need to use the right tool for the right job. But, this philosophy suggests Drupal is not the right tool for less ambitious digital experiences. What about sites for local non profits, web presence for a local restaurant without any digital staff, or local religious organizations that desire a straight forward way to communicate their mission to the world on a shoestring budget. Drupal was built on the backs of people creating websites for causes they supported. I would argue that some of these sites don&amp;rsquo;t need or even care about something ambitious. My philosophy of Drupal and its community is one of inclusiveness. It should be a platform for all, not just the ambitious.&lt;/p></description></item><item><title>Retrospecting on the Legal and Technical Ramifications of ReactJS</title><link>https://nerdstein.net/blog/retrospecting-legal-and-technical-ramifications-reactjs/</link><pubDate>Tue, 31 Oct 2017 00:00:00 +0000</pubDate><guid>https://nerdstein.net/blog/retrospecting-legal-and-technical-ramifications-reactjs/</guid><description>&lt;p>Over the last few years, there have been substantial discussions around ReactJS, especially with regard to its former license. This has little to do with the fact that ReactJS offers an attractive and innovative front-end development framework and that it has the backing of a major commercial entity. While I&amp;rsquo;m not an expert, the most controversial bits do not appear to be driven by copyright concern, but how their license applies to patents.&lt;/p></description></item><item><title>Exploring simplicity in Drupal design components</title><link>https://nerdstein.net/blog/exploring-simplicity-drupal-design-components/</link><pubDate>Mon, 02 Oct 2017 00:00:00 +0000</pubDate><guid>https://nerdstein.net/blog/exploring-simplicity-drupal-design-components/</guid><description>&lt;p>Component-based architectures have become both a popular and fairly crowded space in the Drupal community. For over a year, I have followed the progress of some tools created by those leveraging Pattern Lab as a component based design library. I can’t claim to know the full breadth of problems these individuals encountered, many of which are experienced technologists in our space. But, every solution I have seen has been complex and demonstrates some architectural red flags. I wanted to take a fresh look. I paid a designer to redesign my blog for a migration to Drupal 8. This presented the perfect opportunity to try this out. Consider the following post a simple approach you might be able to use.&lt;/p></description></item><item><title>Local core development environments</title><link>https://nerdstein.net/blog/local-core-development-environments/</link><pubDate>Tue, 08 Aug 2017 00:00:00 +0000</pubDate><guid>https://nerdstein.net/blog/local-core-development-environments/</guid><description>&lt;p>In an earlier blog post, I described my ideal local environment for developing Drupal based projects (DrupalVM). My primary objectives included separation from the host OS, persistence in config (affording disposable sandboxes), and extensibility to customize around project specific configuration (mirroring other environments). In those respects, DrupalVM has spoiled me and I&amp;rsquo;ve likely saved hundreds of hours in large part to these efforts (thank you, Jeff and other contributors).&lt;/p></description></item><item><title>What Gets Me Up In The Morning</title><link>https://nerdstein.net/blog/what-gets-me-morning/</link><pubDate>Thu, 25 May 2017 00:00:00 +0000</pubDate><guid>https://nerdstein.net/blog/what-gets-me-morning/</guid><description>&lt;p>It is safe to say that people like talking about themselves. I&amp;rsquo;m guilty of that, but I don&amp;rsquo;t think I have actually given any real consideration or focus to the matter. That changed this morning.&lt;/p></description></item><item><title>Removing Site Building From Drupal's Vocabulary</title><link>https://nerdstein.net/blog/removing-site-building-drupals-vocabulary/</link><pubDate>Tue, 23 May 2017 00:00:00 +0000</pubDate><guid>https://nerdstein.net/blog/removing-site-building-drupals-vocabulary/</guid><description>&lt;p>Drupal has a full vocabulary of Drupalisms. While I think that is fine for Drupal-specific features, it also is a sign that we seem to promote our own island when there are similar concepts that exist in the technology space. When possible, we should try to align with more conventional terms that others outside of Drupal understand. If anything, this can make Drupal more approachable and better understood in broader context. I think I identified one such term: the term &amp;ldquo;Site Building&amp;rdquo; has never sat well with me - both as an activity and as a role. &lt;/p></description></item><item><title>"First" based approaches need to die</title><link>https://nerdstein.net/blog/first-based-approaches-need-die/</link><pubDate>Wed, 08 Mar 2017 00:00:00 +0000</pubDate><guid>https://nerdstein.net/blog/first-based-approaches-need-die/</guid><description>&lt;p>Off the top of my head, I can name several &amp;ldquo;first&amp;rdquo;-based approaches. Do any of these ring a bell? Mobile first, content first, API first, user first, design first, experience first, modeling first, security first.&lt;/p></description></item><item><title>Just Another Varnish and Drupal 8 Blog Post</title><link>https://nerdstein.net/blog/varnish-drupal-8/</link><pubDate>Wed, 07 Dec 2016 00:00:00 +0000</pubDate><guid>https://nerdstein.net/blog/varnish-drupal-8/</guid><description>&lt;p>Since both core caching continues to evolve in Drupal 8 and contrib modules are maturing, I wanted to capture my steps for configuring Varnish 4 to properly work with Drupal 8.&lt;/p></description></item><item><title>Lessons Learned: The "Why" and "How" of Drupal Contributions</title><link>https://nerdstein.net/blog/lessons-learned-why-and-how-drupal-contributions/</link><pubDate>Fri, 21 Oct 2016 00:00:00 +0000</pubDate><guid>https://nerdstein.net/blog/lessons-learned-why-and-how-drupal-contributions/</guid><description>&lt;h2 id="why">Why&lt;/h2>
&lt;p>I am ashamed to admit, for the longest time I used Drupal (heck, even complained about it) but contributed absolutely nothing back. It occurred to me that, not only did I learn technical and marketable skills thanks to Drupal, my Drupal experience directly corresponded to opportunities that supported my livelihood and viability for me and my family. And, all of this occurred without one line of code from me contributed back.&lt;/p></description></item><item><title>Balancing Theory and Practice</title><link>https://nerdstein.net/blog/balancing-theory-and-practice/</link><pubDate>Fri, 23 Sep 2016 00:00:00 +0000</pubDate><guid>https://nerdstein.net/blog/balancing-theory-and-practice/</guid><description>&lt;p>When you are building a tool, how do you measure the success of your efforts? There are data driven approaches around adoption, like number of times your tool has been downloaded or installed. Similarly, success could be defined as how effectively you solved the problem. This could be measured by the number of issues filed, the (hopefully) lack of vulnerabilities, or the number of feature requests created. But, in any measure, success is actually defined by &lt;strong>other people&lt;/strong>. And, as an engineer, it&amp;rsquo;s such a difficult task to put yourself in their shoes. How do you deal with that?&lt;/p></description></item><item><title>Setting up your system for Drupal coding standards</title><link>https://nerdstein.net/blog/setting-your-system-drupal-coding-standards/</link><pubDate>Wed, 24 Aug 2016 00:00:00 +0000</pubDate><guid>https://nerdstein.net/blog/setting-your-system-drupal-coding-standards/</guid><description>&lt;p>As a bit of background, my main objective is to integrate Drupal coding standards into PHPStorm. I would imagine similar steps can be taken with other IDEs. I&amp;rsquo;m mainly writing this blog post to remind myself of these steps if/when I need to do this in the future. But, it occurred to me others might benefit from this as well.&lt;/p></description></item><item><title>The Technical Lift of Drupal 8</title><link>https://nerdstein.net/blog/technical-lift-drupal-8/</link><pubDate>Wed, 27 Jul 2016 00:00:00 +0000</pubDate><guid>https://nerdstein.net/blog/technical-lift-drupal-8/</guid><description>&lt;p>Drupal 8 has been widely praised for improving the developer experience (DX). The &amp;ldquo;best of breed&amp;rdquo; adoption of tools (see: Symfony, Guzzle, PHPUnit, Composer, etc) clearly positions Drupal to mature and evolve beyond that which one community is able to do alone. But, there are many different considerations of DX that need explored. And, what lift is required for the community to grasp this new version? And, what is the impact?&lt;/p></description></item><item><title>Theming Drupal 8 Field Collections</title><link>https://nerdstein.net/blog/theming-drupal-8-field-collections/</link><pubDate>Fri, 01 Jul 2016 00:00:00 +0000</pubDate><guid>https://nerdstein.net/blog/theming-drupal-8-field-collections/</guid><description>&lt;p>I&amp;rsquo;m a big fan of Field Collections. It provides a high level of flexibility in setting up an auxiliary (and potentially shared) data structure that can associate with another entity. As such, it&amp;rsquo;s a highly customizable way to do relational data in Drupal. This shouldn&amp;rsquo;t be confused with Inline Entity Form which helps embed an entity within another entity (and is also an amazing project).&lt;/p></description></item><item><title>A slideshow in Drupal 8</title><link>https://nerdstein.net/blog/slideshow-drupal-8/</link><pubDate>Tue, 15 Mar 2016 00:00:00 +0000</pubDate><guid>https://nerdstein.net/blog/slideshow-drupal-8/</guid><description>&lt;p>I thought I&amp;rsquo;d play around with creating this feature in Drupal 8. Here&amp;rsquo;s the step-by-step run down. This is assumed your logged in with an administrative user.&lt;/p>
&lt;p> &lt;/p>
&lt;h2 id="1-slideshow-item-data-structure">1. &amp;ldquo;Slideshow Item&amp;rdquo; data structure&lt;/h2>
&lt;p>Create a slideshow item content type with any structure you desire. In my case, I added an image, a title, a description, and a link. This was all done by core provided field types.&lt;/p></description></item><item><title>Site Updates in Drupal</title><link>https://nerdstein.net/blog/site-updates-drupal/</link><pubDate>Thu, 03 Mar 2016 00:00:00 +0000</pubDate><guid>https://nerdstein.net/blog/site-updates-drupal/</guid><description>&lt;p>Site updates in Drupal are one of the most critical, proactive things needed to eliminate vulnerabilities on your site. While the open source community strives to make these updates smooth, there are no guarantees there won&amp;rsquo;t be issues for your specific site based on how you&amp;rsquo;ve extended your Drupal instance. This is because each site may have it&amp;rsquo;s own custom code, it may have it&amp;rsquo;s own combination of contributed modules with unique interactions, and it may have it&amp;rsquo;s own visual theme. The key point is that it&amp;rsquo;s not a safe assumption that site updates meet all use cases. Most module maintainers are good about following module version conventions intended to help shed light on if an update could break existing feature or API parity. But, case in point, site updates should be handled with care. &lt;/p></description></item><item><title>Common DrupalVM Use</title><link>https://nerdstein.net/blog/common-drupalvm-use/</link><pubDate>Mon, 29 Feb 2016 00:00:00 +0000</pubDate><guid>https://nerdstein.net/blog/common-drupalvm-use/</guid><description>&lt;p>I long struggled with how to effectively do local development in Drupal. Few would argue the merits of doing local development over working directly on a production system. While the problem seems straightforward, nothing seemed to work quite right. It took me quite a while to land on DrupalVM. &lt;/p></description></item><item><title>"Just Enough" Planning - An Agile Concept</title><link>https://nerdstein.net/blog/just-enough-planning-agile-concept/</link><pubDate>Wed, 02 Dec 2015 00:00:00 +0000</pubDate><guid>https://nerdstein.net/blog/just-enough-planning-agile-concept/</guid><description>&lt;p>The Agile framework is all the rage. It aims to solve limitations introduced by waterfall. The framework is driven by value and priority, not fixed scope and heavy upfront planning. But, Agile and its Scrum variant is just a set of theories not intended to fully prescribe practice. There are many challenges that observing strict Agile/Scrum can present in practice, especially for agencies attempting to adopt it outside of a product development process.&lt;/p></description></item><item><title>Patterns of DevOps Practices</title><link>https://nerdstein.net/blog/patterns-devops-practices/</link><pubDate>Tue, 10 Nov 2015 00:00:00 +0000</pubDate><guid>https://nerdstein.net/blog/patterns-devops-practices/</guid><description>&lt;p>Recently, I read &lt;a href="http://www.jedi.be/blog/2012/05/12/codifying-devops-area-practices/">Codifying devops practices&lt;/a>, a blog post written by Patrick Debois. This is food for thought. I spent some time trying to identify the patterns I recognize in daily practice. I may continue to update this as I learn more opportunities and categories.&lt;/p></description></item><item><title>Engineering Tenets of Agile</title><link>https://nerdstein.net/blog/engineering-tenets-agile/</link><pubDate>Wed, 21 Oct 2015 00:00:00 +0000</pubDate><guid>https://nerdstein.net/blog/engineering-tenets-agile/</guid><description>&lt;h2 id="background">Background&lt;/h2>
&lt;p>I recently changed companies and am going through the process of onboarding. One of the big draws to the new company was an emphasis on people and culture. The whole balance between a for-profit business and a focus on employee needs, in my experience, can be in conflict. I have been learning more about how these goals are achieved.&lt;/p></description></item><item><title>Simpletests hanging in Drupal 8?</title><link>https://nerdstein.net/blog/simpletests-hanging-drupal-8/</link><pubDate>Sat, 18 Jul 2015 00:00:00 +0000</pubDate><guid>https://nerdstein.net/blog/simpletests-hanging-drupal-8/</guid><description>&lt;p>I recently had a difficult situation in which I could not debug a hanging Simpletest in Drupal 8. Before continuing on, &lt;strong>add the &lt;em>dblog&lt;/em> module as a dependency to the Simpletest&lt;/strong> you are writing and rerun it. &lt;strong>Your test may be hanging because it cannot write to the error log.&lt;/strong> If it continues to hang, read on.&lt;/p></description></item><item><title>Imitation is the best form of flattery</title><link>https://nerdstein.net/blog/imitation-best-form-flattery/</link><pubDate>Sun, 04 Jan 2015 00:00:00 +0000</pubDate><guid>https://nerdstein.net/blog/imitation-best-form-flattery/</guid><description>&lt;p>I personally believe &lt;em>cut-and-paste&lt;/em> coding can be one of the sloppiest and least reliable ways of developing a product. Consider the source.&lt;/p>
&lt;p> &lt;/p>
&lt;p>After teaching Comp Sci for several years, I can confidently claim that this is the worst type of coding. Most of the cut-and-paste code comes from the web. Someone goes onto Stack Overflow, slaps in variables and values to meet their use case, and commits their change. Consider the source! You have no idea who posted the code, the merit of the code, or if it follows best practice. There is often a ton of metadata missing as well, e.g. the supported major/minor versions of the software, dependencies of the code, or full contextual code examples that leverage the posted snippet. I can say, it typically is not very good.&lt;/p></description></item><item><title>Routine stifles innovation</title><link>https://nerdstein.net/blog/routine-stifles-innovation/</link><pubDate>Sun, 31 Aug 2014 00:00:00 +0000</pubDate><guid>https://nerdstein.net/blog/routine-stifles-innovation/</guid><description>&lt;p>I was recently asked about what separates my company from others I have worked in the past. What immediately came to mind was the relationship with my team, the work we do, and the sheer talent. Those elements alone still make me get up in the morning. But, over a cold beer, something else struck with me. &lt;strong>My company has no routine&lt;/strong> and I love it. &lt;/p></description></item><item><title>Social Vampirism in Services</title><link>https://nerdstein.net/blog/social-vampirism-services/</link><pubDate>Sun, 10 Aug 2014 00:00:00 +0000</pubDate><guid>https://nerdstein.net/blog/social-vampirism-services/</guid><description>&lt;p>Companies are very bottom line focused. Even after a high level scope of work is determined, the most appealing bids often are on the lower end. Even if &lt;strong>some&lt;/strong> form of a deliverable can be achieved in a given number of hours, it often does not yield the correct one. Smarter bids allocate more time for damage control, error correction, and proper testing. For low bids, especially really low ones, one has to wonder what part of the product suffers.&lt;/p></description></item><item><title>Local Drupal development sandboxes</title><link>https://nerdstein.net/blog/local-drupal-development-sandboxes/</link><pubDate>Mon, 04 Aug 2014 00:00:00 +0000</pubDate><guid>https://nerdstein.net/blog/local-drupal-development-sandboxes/</guid><description>&lt;p>If you&amp;rsquo;re doing Drupal development, having a local sandbox is a necessity. Why? &lt;strong>No one&lt;/strong> should be making untested changes on a production or staging server. And, a development server should be free of initial development errors where the developer should execute a small set of engineering tests before deployment. Plus, it can be time consuming to regularly deploy code developed locally onto a development server. To summarize: a local sandbox is absolutely best practice. I hope to summarize how to quickly get up to speed without having to rehash the lessons I have learned.&lt;/p></description></item><item><title>Serenity of thought</title><link>https://nerdstein.net/blog/serenity-thought/</link><pubDate>Thu, 24 Jul 2014 00:00:00 +0000</pubDate><guid>https://nerdstein.net/blog/serenity-thought/</guid><description>&lt;p>Rands&amp;rsquo; recent blog post &lt;a href="http://randsinrepose.com/archives/busy-is-an-addiction/">B&lt;/a>&lt;a href="http://randsinrepose.com/archives/busy-is-an-addiction/">usy is an Addiction&lt;/a> struck a chord with me. It&amp;rsquo;s made me rethink many aspects of my day-to-day routine.&lt;/p>
&lt;p> &lt;/p>
&lt;h2 id="work-smarter-not-harder">Work Smarter, Not Harder&lt;/h2>
&lt;p> &lt;/p>
&lt;p>It&amp;rsquo;s so easy to say, &lt;em>I&amp;rsquo;m busy&lt;/em>. In reality, I should be &lt;strong>working smarter, not harder&lt;/strong>. Busy is as much of a state of mind, as it is the items on your plate. It&amp;rsquo;s a routine, a lifestyle, and a shitty excuse.&lt;/p></description></item><item><title>A balance of trust and quality</title><link>https://nerdstein.net/blog/balance-trust-and-quality/</link><pubDate>Tue, 01 Jan 2013 00:00:00 +0000</pubDate><guid>https://nerdstein.net/blog/balance-trust-and-quality/</guid><description>&lt;p>Projects are risky. Specifications are nearly impossible to define on most projects due to technical or communication gaps. This is the age old challenge many people fight.&lt;/p>
&lt;p> &lt;/p>
&lt;p>One popular solution for unclear specs is the &lt;em>&lt;strong>fail fast&lt;/strong>&lt;/em> methodology. It&amp;rsquo;s founded on brief iterations that lack polish, frequent tests by a client and an over abundance of communication.&lt;/p></description></item><item><title>A brief comparison of text editors</title><link>https://nerdstein.net/blog/a-brief-comparison-of-text-editors/</link><pubDate>Tue, 01 Jan 2013 00:00:00 +0000</pubDate><guid>https://nerdstein.net/blog/a-brief-comparison-of-text-editors/</guid><description>&lt;p>To innovate, you often have to risk getting out of your comfort zone. The last several years, I have had varied needs which have required me to evaluate new text editors that offer more robust functionality.&lt;/p></description></item><item><title>A call for simplicity</title><link>https://nerdstein.net/blog/a-call-for-simplicity/</link><pubDate>Tue, 01 Jan 2013 00:00:00 +0000</pubDate><guid>https://nerdstein.net/blog/a-call-for-simplicity/</guid><description>&lt;p>You&amp;rsquo;ve heard it all before. &amp;ldquo;The old programmer did this and it&amp;rsquo;s crap&amp;rdquo; or &amp;ldquo;This person used this tool and it&amp;rsquo;s no good&amp;rdquo;. It&amp;rsquo;s the age old grudge match between the old and the new. And, it doesn&amp;rsquo;t help anyone move forward.&lt;/p></description></item><item><title>An Agile Spree</title><link>https://nerdstein.net/blog/agile-spree/</link><pubDate>Tue, 01 Jan 2013 00:00:00 +0000</pubDate><guid>https://nerdstein.net/blog/agile-spree/</guid><description>&lt;p>At the heart of Agile is flexibility. This is designed into sprints that are intended to account for changes rolled into subsequent sprints.&lt;/p>
&lt;p>But, think of an overall backlog. A high level estimation will yield a given number of sprints. This structure actually is not very flexible at all. Unless, of course, each sprint has time allocated for reviewing, testing, and bug fixing. This is a slippery slope; a more substantial change can really throw off a sprint. So, how do you address the issue of quality?&lt;/p></description></item><item><title>Automated Drupal Code Improvements</title><link>https://nerdstein.net/blog/automated-drupal-code-improvements/</link><pubDate>Tue, 01 Jan 2013 00:00:00 +0000</pubDate><guid>https://nerdstein.net/blog/automated-drupal-code-improvements/</guid><description>&lt;p>The Coder module (&lt;a href="https://drupal.org/project/coder">http://drupal.org/project/coder&lt;/a>) is well known for assisting developers in producing code up to snuff with the community defined standards. Such standards have been integral in helping the community grow in a consistent manner.&lt;/p></description></item><item><title>Design issues of a distributed Drupal system</title><link>https://nerdstein.net/blog/design-issues-of-a-distributed-drupal-system/</link><pubDate>Tue, 01 Jan 2013 00:00:00 +0000</pubDate><guid>https://nerdstein.net/blog/design-issues-of-a-distributed-drupal-system/</guid><description>&lt;p>Scale and performance are major issues for high traffic websites. The design of the Drupal system poses many challenges to building a distributed system that can support load balancing.&lt;/p>
&lt;p> &lt;/p>
&lt;p>In Drupal, the design of the system has three principle components: code, database, and files. I will be sharing potential solutions in later blog posts.&lt;/p></description></item><item><title>Don't solve the same problem twice</title><link>https://nerdstein.net/blog/dont-solve-same-problem-twice/</link><pubDate>Tue, 01 Jan 2013 00:00:00 +0000</pubDate><guid>https://nerdstein.net/blog/dont-solve-same-problem-twice/</guid><description>&lt;p>If you spent hours solving a problem, what is the likelihood you will remember exactly what you did the next time it comes around? Don&amp;rsquo;t solve the same problem twice. Find a way to automate routine tasks so you can focus on other challenges. What are some strategies used?&lt;/p></description></item><item><title>It's not you, it's me</title><link>https://nerdstein.net/blog/its-not-you-its-me/</link><pubDate>Tue, 01 Jan 2013 00:00:00 +0000</pubDate><guid>https://nerdstein.net/blog/its-not-you-its-me/</guid><description>&lt;p>Bad projects are toxic. &lt;/p>
&lt;p>While most staff within a company focus on the bottom line, the bottom line is no guarantee of project success. It&amp;rsquo;s impossible to look in your crystal ball and make this call before a project begins. Hindsight is 20/20, right? &lt;/p></description></item><item><title>Mediated web file content management</title><link>https://nerdstein.net/blog/mediated-web-file-content-management/</link><pubDate>Tue, 01 Jan 2013 00:00:00 +0000</pubDate><guid>https://nerdstein.net/blog/mediated-web-file-content-management/</guid><description>&lt;p>This is a topic I have grown all too familiar with, as this is my thesis topic for my master&amp;rsquo;s degree. I thought I&amp;rsquo;d share some basics to set the stage in this area of work.&lt;/p></description></item><item><title>Nodes with no page views</title><link>https://nerdstein.net/blog/nodes-with-no-pages/</link><pubDate>Tue, 01 Jan 2013 00:00:00 +0000</pubDate><guid>https://nerdstein.net/blog/nodes-with-no-pages/</guid><description>&lt;h2 id="preface">&lt;strong>Preface&lt;/strong>&lt;/h2>
&lt;p>Nodes are the unquestioned most robust data structure within Drupal. It has widely adopted integration, e.g. Views, Features, Context, Rules, etc that make the Node a popular Drupal entity for countless use cases.&lt;/p></description></item><item><title>Open source tools are free</title><link>https://nerdstein.net/blog/open-source-free-puppies/</link><pubDate>Tue, 01 Jan 2013 00:00:00 +0000</pubDate><guid>https://nerdstein.net/blog/open-source-free-puppies/</guid><description>&lt;p>In a previous job, I had a boss that I really admired. He&amp;rsquo;s near the end of his career and his experience had made him wise. He was humble, but would chime in as needed. One of my favorites was his ability to bust out short one-liners that would hit the nail on the head. Around the water cooler, we regularly discussed open source. Here are some highlights:&lt;/p></description></item><item><title>Research contributions when problems are already solved</title><link>https://nerdstein.net/blog/research-contributions-when-problems-are-already-solved/</link><pubDate>Tue, 01 Jan 2013 00:00:00 +0000</pubDate><guid>https://nerdstein.net/blog/research-contributions-when-problems-are-already-solved/</guid><description>&lt;p>What happens when there are a lack of open problems? On the surface, it seems to make it more difficult to have impactful contributions. I just think it requires you to think outside of the box.&lt;/p></description></item><item><title>Risks and Unwavering Swagger</title><link>https://nerdstein.net/blog/risks-unwaivering-swagger/</link><pubDate>Tue, 01 Jan 2013 00:00:00 +0000</pubDate><guid>https://nerdstein.net/blog/risks-unwaivering-swagger/</guid><description>&lt;p>Push aside the user stories, contracts, and legalities. When push comes to shove, the developer delivers the goods. In my mind, there is huge risk to a project with the role of a developer.&lt;/p></description></item><item><title>The role of the noob</title><link>https://nerdstein.net/blog/the-noob/</link><pubDate>Tue, 01 Jan 2013 00:00:00 +0000</pubDate><guid>https://nerdstein.net/blog/the-noob/</guid><description>&lt;p>Peter Nixey describes good developers as both technology proficient and hard working &lt;a href="http://peternixey.com/post/83510597580/how-to-be-a-great-software-developer">in his blog post&lt;/a>. His concept of &amp;ldquo;simplicity&amp;rdquo; is worth noting. I highly encourage developers to create code that limits complexity. But, there is an even more important aspect of complexity: &lt;em>&lt;strong>usability&lt;/strong>&lt;/em>.&lt;/p></description></item><item><title>Varnish and Drupal</title><link>https://nerdstein.net/blog/varnish-and-drupal/</link><pubDate>Tue, 01 Jan 2013 00:00:00 +0000</pubDate><guid>https://nerdstein.net/blog/varnish-and-drupal/</guid><description>&lt;p>Drupal is a complex and robust system. Due to all of the processing required to bootstrap Drupal, enabled modules, enabled themes, and page-specific rendering, one can imagine performance becomes a major concern.&lt;/p></description></item></channel></rss>