RSSAmplifier

Blog

The Software Scrutiny Journal | Software

The most pragmatic software leverages existing tools. By standing on the shoulders of giants, you too can win at business.

jakerobers.comRSS feed ↗10 posts

Latest posts

The useSelector Anti-Pattern

There are two common ways of accessing a redux store: either by connect or useSelector. I will discuss why I prefer connect and why you should too. Simply put, useSelector makes life unnecessarily difficult due to coupling.

Separate Concerns with Higher Order Components

Higher order components (commonly known as HoC) are a great tool for separation of concerns. This pattern is highly encouraged in the React world and are commonly found in dependencies such as react-redux. A higher order component can assist in splitting UI from data sources and mutate functionality.

Wireguard Configurations

Lately I’ve been getting more into the self-hosted game. This DIY approach has given me a much greater appreciation for good software. It doesn’t come without its drawbacks though. Self-hosting requires more time, responsibility, planning, and various chores: data back-ups, log monitoring, ensuring good up-times, etc. It’s not a hobby to choose lightly!

The Best Way to Avoid Merge Conflicts

We all dislike merge conflicts. Even worse, convoluted merge conflicts that when improperly resolved, lead to regressions. What is the best action towards transforming a codebase into easy-to-resolve (or zero) conflicts? I argue for Separation of concerns.

Law of Demeter: Always Encapsulate

Exposing internal data structures are bound to lead to a messy situation. When a method caller knows too much about an underlying system, there is a nasty kind of coupling. This dependency issue is relates to the Law of Demeter. Some people call it “too many dots syndrome” because it leads to code.accessing.attributes.very.deeply. The whole point is that the caller should not have knowledge of the…

JS Performance: Classes vs Function Composition

Today during lunch I wrote up a really quick benchmark comparing the performance of class instantiation vs function composition.

Light as a Feather: Adding pagination

This will likely be the last article in the series of “Light as a Feather”. I hope you’ve enjoyed it so far! Let’s talk a little about pagination.

Light as a Feather: Removing Google Analytics

Gathering analytics data is becoming increasingly difficult for publishers. uBlock is commonly used by the average internet user and Pi-hole is quickly growing in the technologist space. I applaud these privacy-concerned folks for taking personal agency in a time where internet privacy is more difficult than ever. From a publishers point of view, users ghosting analytics is simply a case of…

Light as a Feather: Improving CSS Page Weight

Performance is a software cornerstones that tends to be left behind. It’s easy to get distracted while pushing through countless features. Let me be clear about something though: Performance is a feature too! Not only is it a feature, but it also leads to great user experience. The UX of this blog will hands-down beat the UX of any ad-bloated recipe site.

I Deleted Social Media

If I wrote a 140 character tweet, could I persuade you to change your opinion on which you disagree? If I read a 140 character tweet, could I change my opinion on which I disagree? If I respond angerly to a 140 character tweet, am I improving myself mentally? morally? If I see a wall of text on Facebook expressing an opinion, but don’t feel like arguing in the comments, was this beneficial? This…