Jake’s Micro-Blog

see also https://jakecoffman.com

  • Meetings

    At work I am known for not liking meetings. At least I’m known for something!

    But this isn’t true, I like meetings (video or in-person) because they’re a great tool in the right circumstance.

    I don’t like:

    1. Going to a 30 minute or hour meeting to answer a question that could have been answered in an email.
    2. Filling out a meeting’s time by talking, even though the objective of the meeting was met.
    3. Sitting quietly an entire meeting because it doesn’t involve me, I was invited in case someone had a technical question.
    4. Getting invited to a brainstorming meeting, but getting no information ahead of time so no thinking before-hand can take place.
    5. Inviting more people to a meeting to spread knowledge around.
    6. Sitting in a collaboration meeting but people with strong personalities will not leave a lull so others can speak.
    7. Having my days packed with the above situations with no time to do work.

    So how can we avoid these situations?

    Read more…
  • Constructive Feedback

    Let me tell you about the best feedback I’ve ever gotten and how it effects my behavior every day.

    Read more…
  • Highly Available Cron-as-a-Service

    Cloud Foundry has a problem. There’s no builtin way to run a single job on a schedule. So I developed one.

    Read more…
  • Convincing my team to switch to Go

    A story on how I convinced my team to switch to Go from Node.js.

    Read more…
  • My AI Saga

    I started getting into AI in 2020 when a coworker asked me if I wanted to compete on the CodinGame Spring Challenge. After 11 days, I finished 112th out of about 5,000 contestants. I was hooked!

    Read more…
  • Unit Testing Affirmation

    Months ago I wrote my thoughts on why unit testing is sometimes not desirable. Recently I was affirmed in my thoughts by Ian Cooper on a talk about why TDD went wrong.

    Read more…
  • Jenkins sidecar

    Jenkins has “sidecar” functionality that allows you to run multiple Docker containers at the same time to make testing easier. It seems like hardly anyone is taking advantage of this functionality, so I went ahead and pieced together how to run a Jenkins sidecar with Postgres to run a Go integration test.

    Read more…
  • Go swagger generator

    I built a Go library that can generate Swagger and validation middleware automatically from Go code.

    It’s called CRUD and you can get it here: https://github.com/jakecoffman/crud

    Read more…
  • Unit Testing

    A unit test is a test that tests a single function with all external dependencies mocked or faked.

    Unit testing can either be valuable or be a detriment to the code base, depending on what is being tested.

    Read more…
  • Server-Side Hydration Anti-Pattern

    When designing and implementing a REST API in a service-oriented or microservice architecture you may be tempted to fetch remote objects so the UI doesn’t have to fetch them individually later. This is often called hydration or inflation.

    I will now try to convince you that this is an anti-pattern to hydrate server-side.

    Read more…