Logo

Category: Web Development

How to Manage Snapshots with ESLint

March 18, 2019
Individual holding a camera lens with mountains and lake in the distance
Jest Snapshots can be a valuable utility for monitoring code changes for UI components. They can also become a scourge if they become too large. The line between the two isn't always clear. Snapshots don't offer a clear mechanism to determining how large they are. This makes it easy to create large snapshots that are hard to diff.The likelihood of a thorough review on a snapshot diff decreases in relation to the size of the snapshot. I have both observed and committed broken snapshot updates into repositories as part of a branch. The danger lies in making intentional changes to a particular feature and updating the snapshot without checking for other breakages. If the snapshot diff is large, it will likely not receive as thorough a review…
Read More

Iterating Quickly with GraphQL and Gatsby

March 11, 2019
Grey geometric triangles
Over the past month I have been adding features to the blog that I had put off for long enough. As I aim to write more, it was time to address some glaring omissions in my initial implementation. This included adding proper category and tag pages, post metadata, and other small features. Gatsby's tight integration with GraphQL enabled quick iteration and development of these new features. Some features required as little as adding a utility field to a GraphQL query to implement.Data selection per queryOne of GraphQL's core features is the ability to select only the required data. A selection set is the specific data requested within a given type. GraphQL uses a declarative data structure. This means that the API consumer specifies the data…
Read More

Three Lessons Learned from Overcoming the Inertia Against Technical Presentations

May 17, 2018
Fear of speaking and feelings of an inadequate technical knowledge base can often be a paralytic combination, especially to those newer to a technical field. Imposter syndrome and feelings of inaptitude can easily become dominant, resulting in a self-fulfilling prophecy with high levels of inertia.Thankfully, I have a low level of unease regarding speaking in front of people, including to groups upward of 60 people. While my presentation experience has largely not been about technical topics, much of the skillset translates over. As I mentally prepared myself for the idea of giving a technical talk, I still had to overcome the serious sense of imposter syndrome that I could provide anything meaningful to the conversation as a developer with…
Read More

Pragmatic Lessons from Converting to React Hooks

February 6, 2019
Code diff from converting React Component to Hooks
Last week I decided to install the React 16.8 alpha on a branch and experiment with React Hooks in preparation for their release on February 6, 2018. The site utilized a render prop based Slideshow component in several places as well as a handful of other class based components. Through this process, I was able to consolidate the application code and eliminate all class based components from the site's code base. The React team does not recommend refactoring your entire codebase to Hooks on their release. I did this primarily as a means to engage with the Hooks API in a relatively small codebase. You can find the code conversion to Hooks discussed in this post at the related PR. Converting to Hooks and lessons learnedThe Hooks documentation…
Read More

The 439 day Journey that Changed my Life

September 10, 2018
Timelapse of cars driving through the mountains with starry sky
Spring 2017: I was beyond displeased with my current work situation. I loathed going into work everyday and being a punching bag for what wasn’t going right in the organization. My closest coworkers were amazing and our relationship was part caring about each other and part informal group therapy. They are all that kept me somewhat stable. But this isn’t about that place, and details aren’t important or beneficial. My work environment was beyond toxic, and I needed an exit strategy.At first I started looking and applying for another job in the same field. This lead to an interview scheduled for a similar position in a smaller organization. During this search process I also began to question if pursuing this same career path was the best…
Read More