Bressain Dinkelman

  • Swapping redux-thunk With redux-saga For Better Testing

    redux-saga logo

    I think it’s pretty safe to say at this point that the vast majority of React code bases that need state management are using Redux. One of the things people like about Redux (yours truly included), is the testing story is great. Because reducers don’t allow mutating state, you’ll get the same result with the same input every time (yay functional paradigms!). But then there’s testing actions…

  • More Adventures In Losing Weight

    scale and tape header

    Remember when I posted about losing weight a few years ago? Remember when I posted a few disclaimers during that post? I’m feeling pretty good about those disclaimers right now because I was wrong about a lot of the things in that post. The good news is I’m down 55 more lbs and I have learned a lot since then.

  • My Origin Story

    ninja turtle comic header

    Every developer has an “origin story”, the story of how they got into this crazy career. I’m always interested in hearing how people find their way into software development as it tells me a little about where their passions lie. Did you come from an artistic side? Did you come from the business realm? Have you been programming since you could type? Here’s my origin story.

  • Collaboration and Creativity

    I heard something interesting in an audiobook I was listening to the other day that gave me pause. It was in regards to how creativity can be stifled in group settings. Here was the scenario (paraphrased):

    Let’s say you have several people in a room with a task of coming up with some creative idea. Some are considered fairly creative but are also quiet. The others aren’t that creative but are fairly loud and assertive. Chances are, the ideas that will come out of the group will be the less creative ideas from the more loud and assertive members of the group.

    There are many factors that can sway the result (e.g. not all quiet people are pushovers, not all loud people try to bulldoze others, etc) but having experienced both sides of this coin, I think the general case remains likely.

    That said, neither I or the book are advocating to never collaborate at work. I think there is strength in both approaches. While I like the idea of going off by myself to be creative or learn something, I know that by testing the resulting ideas against a group setting, I can get those ideas validated and possibly enhanced.

    Really it comes down to: Like most things in life, if you do too much of one thing, you’re probably going to get suboptimal results.

  • Creating External Hooks In AngularJS Directives

    I ran into an interesting problem a few weeks ago at work. I was working on a stand-alone widget/directive that had the following requirements:

    • Create a widget that shows the amount of comments for a given resource.
    • Pull the count from a site commenting service.
    • Move focus to another widget (most likely a related commenting widget) when this widget is clicked.
      • The other widget may or may not be an Angular widget.
    • Allow external widgets/things tell the directive to update its comment count from the service.
      • The external “thing” may or may not be an “Angular thing”.

    Since the widget would usually be in an Angular app, making an Angular directive seemed like the thing to do. The directive would also be offered as a self-bootstrapping chunk of javascript for pages that weren’t using Angular but that’s beyond the scope of this post.