Open in app

Sign In

Write

Sign In

Gunar Gessner
Gunar Gessner

230 Followers

Home

About

Feb 24, 2020

Sync Postgres and ElasticSearch with Hasura today

Leverage Hasura Events and GraphQL to sync a Postgres database into denormalized ElasticSearch documents. — Permalink: https://gunargessner.com/postgres-hasura-elasticsearch Why sync Postgres to ElasticSearch? If searching is a core feature of our app, we will want to use ElasticSearch. Although Postgres does have a Full Text Search feature, it doesn’t scale well—especially when the requirements include searching across multiple tables.

Hasura

4 min read

Sync Postgres and ElasticSearch with Hasura today
Sync Postgres and ElasticSearch with Hasura today
Hasura

4 min read


Nov 11, 2019

GraphQL Federation vs Stitching.

Which one is the best unified API gateway? — Permalink: https://gunargessner.com/graphql-federation-vs-stitching Apollo Federation and Hasura Schema Stitching both can serve as our company’s centralized API gateway, but they have very different philosophical stances and provide different features. Federation assumes a company’s schema should be a distributed responsibility We’ll want to use Apollo Federation iff we believe services should be able to extend each other’s schemas.

GraphQL

2 min read

GraphQL Federation vs Stitching.
GraphQL Federation vs Stitching.
GraphQL

2 min read


Oct 4, 2019

Why we chose Google AutoML.

Permalink: https://gunargessner.com/why-we-chose-google-automl CONTEXT: Invisible is going Machine Learning, and our first goal is to use ML to aid us in routing client delegations. …

Machine Learning

3 min read

Why we chose Google AutoML.
Why we chose Google AutoML.
Machine Learning

3 min read


Jun 14, 2019

Generating Bitcoin Addresses Programmatically

How to generate Bitcoin addresses from an HD Wallets’ XPUB key. — Bitcoin wallets are nothing but private/public key pairs. The private key is your “password”, while the public key is your “address” for receiving currency. It is advised that we use different addresses for each transaction, in order to increase our privacy and security. Normally one would simply generate multiple keys…

Bitcoin

1 min read

Bitcoin

1 min read


Jun 4, 2019

GraphQL Benefits for Non-Coders.

I’ve recently implemented GraphQL at Invisible. These are some of the things that we’ve realized together. Getting buy-in from stakeholders is perhaps as important as writing the code. I hope this post helps you with that. PS: I’ve prioritized clarity over correctness. GraphQL: Cost of investment. Requires training. It’s one more thing for Engineers…

GraphQL

2 min read

GraphQL Benefits for Non-Coders.
GraphQL Benefits for Non-Coders.
GraphQL

2 min read


Apr 3, 2019

Resetting Uncontrolled Forms by Forcing React to Rebuild the DOM.

A Note on Uncontrolled Forms (you can skip this). — I don’t know about you, but when possible I prefer to use uncontrolled components and refs—as demonstrated below. Resetting Uncontrolled Forms. The key prop is commonly used to efficiently render React Components from arrays, but you can use it for any component. We can “abuse” this property to force React to rebuild the DOM, thusly resetting any values that the user might have entered into the fields.

React

1 min read

React

1 min read


Mar 12, 2019

A Real-Life Example of PBT.

Hi! This is a part of my series on mental models. Click here for other parts. What Is a Record Locator. A record locator can be used to provide a human-readable representation of a database primary key, providing users with a short, easy-to-read and pronounceable string, like those alpha-numeric confirmation codes that flight companies…

Programming

2 min read

A Real-Life Example of PBT.
A Real-Life Example of PBT.
Programming

2 min read


Mar 7, 2019

Narrower Optional Fields for TypeScript.

Checking field presence and absence. — Let’s say you want a field to either contain something of type T, or not contain the field at all—in effect, disallowing { field: undefined }—much like our friend Greg here. It seems resolving this problem would require TypeScript to implement Exact Object Types, but we’re not going to…

JavaScript

2 min read

Narrower Optional Fields for TypeScript.
Narrower Optional Fields for TypeScript.
JavaScript

2 min read


Mar 6, 2019

Property-based Testing in a nutshell.

Property-based Testing in a nutshell. Hi! Welcome to part one of my series on mental models. Click here for other parts. Let’s say we have ourselves a sorting function called mySort , Standardized testing would ask you to come up with some values to be tested, whereas Property-based Testing asks you to declare…

Testing

2 min read

Property-based Testing in five minutes.
Property-based Testing in five minutes.
Testing

2 min read


Mar 6, 2019

Recalibration of mental models in Software Engineering.

I’ve recently tipped my toe on a few topics regarding our conceptual models around the systems we build and have decided to share with you what I’ve learned. I’m going to try and define each one of these tools using my own words. If I can get you to understand the gist of each one, perhaps you’ll be able to identify uses for them in your own projects. My definitions will by no means be exhaustive as I’m prioritizing simplicity over correctness. Bottom-line: read at your own peril.

Testing

1 min read

Recalibration of mental models for Software Engineering.
Recalibration of mental models for Software Engineering.
Testing

1 min read

Gunar Gessner

Gunar Gessner

230 Followers

Software that gets jobs done — gunargessner.com

Following
  • Corey Breier

    Corey Breier

  • David B. Clear

    David B. Clear

  • Eric Elliott

    Eric Elliott

  • Paul Biggar

    Paul Biggar

  • Jon Finerty

    Jon Finerty

See all (97)

Help

Status

Writers

Blog

Careers

Privacy

Terms

About

Text to speech